Added developer options.

captchafix
Florens Douwes 12 years ago
parent 37c0f56261
commit 28ac0dba79
  1. 3
      Chan/AndroidManifest.xml
  2. 2
      Chan/res/values/strings.xml
  3. 12
      Chan/res/xml/preference.xml
  4. 31
      Chan/src/org/floens/chan/activity/DeveloperActivity.java
  5. 39
      Chan/src/org/floens/chan/fragment/SettingsFragment.java
  6. 1
      Chan/src/org/floens/chan/manager/ThreadManager.java
  7. 8
      Chan/src/org/floens/chan/utils/ChanPreferences.java

@ -80,6 +80,9 @@
<activity
android:name="org.floens.chan.activity.ImagePickActivity" >
</activity>
<activity
android:name="org.floens.chan.activity.DeveloperActivity" >
</activity>
<service
android:name="org.floens.chan.service.PinnedService"

@ -83,6 +83,8 @@
<string name="post_replies_back">Back</string>
<string name="post_replies_close">Close</string>
<string name="developer">Developer options</string>
<string name="post_info">Info</string>
<string-array name="post_options">
<item>Quote</item>

@ -27,7 +27,8 @@
</PreferenceCategory>
<PreferenceCategory
android:title="@string/about" >
android:title="@string/about"
android:key="group_about" >
<Preference
android:title="@string/about_licenses"
@ -38,6 +39,15 @@
android:title="Chan"
android:key="about_version" />
<Preference
android:title="@string/developer"
android:key="about_developer" >
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="org.floens.chan"
android:targetClass="org.floens.chan.activity.DeveloperActivity" />
</Preference>
</PreferenceCategory>
</PreferenceScreen>

@ -0,0 +1,31 @@
package org.floens.chan.activity;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class DeveloperActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout wrapper = new LinearLayout(this);
Button button = new Button(this);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@SuppressWarnings("unused")
int i = 1 / 0;
}
});
button.setText("Crash the app");
wrapper.addView(button);
setContentView(wrapper);
}
}

@ -2,6 +2,7 @@ package org.floens.chan.fragment;
import org.floens.chan.R;
import org.floens.chan.activity.AboutActivity;
import org.floens.chan.utils.ChanPreferences;
import android.content.Intent;
import android.content.pm.PackageManager.NameNotFoundException;
@ -9,9 +10,13 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceFragment;
import android.preference.PreferenceGroup;
import android.widget.Toast;
public class SettingsFragment extends PreferenceFragment {
private final int clickCount = 0;
private int clickCount = 0;
private Preference developerPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
@ -33,27 +38,23 @@ public class SettingsFragment extends PreferenceFragment {
Preference aboutVersion = findPreference("about_version");
if (aboutVersion != null) {
/*aboutVersion.setOnPreferenceClickListener(new OnPreferenceClickListener() {
aboutVersion.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
if (++clickCount >= 5) {
clickCount = 0;
SharedPreferences p = ChanApplication.getPreferences();
boolean e = !p.getBoolean("preference_br", false);
p.edit().putBoolean("preference_br", e).commit();
String m = e ? "Do a barrel roll" : "No barrel rolls this time";
Toast.makeText(getActivity(), m, Toast.LENGTH_LONG).show();
/*
* if (PreferenceManager.getDefaultSharedPreferences(baseActivity).getBoolean("preference_br", false)) {
view.animate().setDuration(1000).rotation(Math.random() < 0.5d ? 540f : -360f).setInterpolator(new DecelerateInterpolator(4f));
}
boolean enabled = !ChanPreferences.getDeveloper();
ChanPreferences.setDeveloper(enabled);
updateDeveloperPreference();
Toast.makeText(getActivity(),
(enabled ? "Enabled " : "Disabled ") + "developer options", Toast.LENGTH_LONG).show();
}
return true;
}
});*/
});
String version = "";
try {
@ -65,5 +66,17 @@ public class SettingsFragment extends PreferenceFragment {
aboutVersion.setTitle(R.string.app_name);
aboutVersion.setSummary(version);
}
developerPreference = findPreference("about_developer");
((PreferenceGroup) findPreference("group_about")).removePreference(developerPreference);
updateDeveloperPreference();
}
private void updateDeveloperPreference() {
if (ChanPreferences.getDeveloper()) {
((PreferenceGroup) findPreference("group_about")).addPreference(developerPreference);
} else {
((PreferenceGroup) findPreference("group_about")).removePreference(developerPreference);
}
}
}

@ -133,6 +133,7 @@ public class ThreadManager {
break;
case 1: // Info
showPostInfo(post);
break;
case 2: // Show clickables
showPostLinkables(post);
break;

@ -14,4 +14,12 @@ public class ChanPreferences {
public static String getDefaultEmail() {
return ChanApplication.getPreferences().getString("preference_default_email", "");
}
public static boolean getDeveloper() {
return ChanApplication.getPreferences().getBoolean("preference_developer", false);
}
public static void setDeveloper(boolean developer) {
ChanApplication.getPreferences().edit().putBoolean("preference_developer", developer).commit();
}
}

Loading…
Cancel
Save