summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-02 11:05:27 +0400
committerAndrew Dolgov <[email protected]>2015-06-02 11:05:27 +0400
commit3de302182cdb3b99600cd787fd697e9e8e401bd2 (patch)
tree0a1bcd84006562974f622811f8d7e1353615e74c
parent5e2cfd1b2a5dba4e536a9aa6701b37db9f3033af (diff)
switch to preferencefragment
-rwxr-xr-xorg.fox.ttrss/src/main/AndroidManifest.xml4
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java57
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java64
-rw-r--r--org.fox.ttrss/src/main/res/layout/preferences.xml8
4 files changed, 100 insertions, 33 deletions
diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml
index 5c94cf94..3eda069a 100755
--- a/org.fox.ttrss/src/main/AndroidManifest.xml
+++ b/org.fox.ttrss/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
- android:versionCode="332"
- android:versionName="1.106" >
+ android:versionCode="333"
+ android:versionName="1.107" >
<uses-sdk
android:minSdkVersion="15"
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java
index 5a741e27..be2e35a0 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesActivity.java
@@ -5,6 +5,10 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.PreferenceActivity;
+import android.preference.PreferenceManager;
+import android.support.v4.app.FragmentTransaction;
+import android.util.Log;
+import android.view.MenuItem;
import java.io.IOException;
import java.text.SimpleDateFormat;
@@ -12,46 +16,37 @@ import java.util.Locale;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-public class PreferencesActivity extends PreferenceActivity {
+public class PreferencesActivity extends CommonActivity {
@Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.preferences);
-
- /* if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) {
- findPreference("enable_condensed_fonts").setEnabled(false);
- } */
+ public void onCreate(Bundle savedInstanceState) {
+ // we use that before parent onCreate so let's init locally
+ m_prefs = PreferenceManager
+ .getDefaultSharedPreferences(getApplicationContext());
- String version = "?";
- int versionCode = -1;
- String buildTimestamp = "N/A";
+ setAppTheme(m_prefs);
- try {
- PackageInfo packageInfo = getPackageManager().
- getPackageInfo(getPackageName(), 0);
+ super.onCreate(savedInstanceState);
- version = packageInfo.versionName;
- versionCode = packageInfo.versionCode;
+ setContentView(R.layout.preferences);
- ApplicationInfo appInfo = getPackageManager().
- getApplicationInfo(getPackageName(), 0);
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setHomeButtonEnabled(true);
- ZipFile zf = new ZipFile(appInfo.sourceDir);
- ZipEntry ze = zf.getEntry("classes.dex");
- long time = ze.getTime();
+ android.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
- buildTimestamp = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss",
- Locale.getDefault()).format(time);
+ ft.replace(R.id.preferences_container, new PreferencesFragment());
+ ft.commit();
+ }
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ onBackPressed();
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
}
-
- findPreference("version").setSummary(getString(R.string.prefs_version, version, versionCode));
- findPreference("build_timestamp").setSummary(getString(R.string.prefs_build_timestamp, buildTimestamp));
}
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java
new file mode 100644
index 00000000..046ee6f0
--- /dev/null
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/PreferencesFragment.java
@@ -0,0 +1,64 @@
+package org.fox.ttrss;
+
+import android.app.Activity;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Locale;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+
+public class PreferencesFragment extends PreferenceFragment {
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preferences);
+
+ }
+
+ public void onResume() {
+ super.onResume();
+
+ String version = "?";
+ int versionCode = -1;
+ String buildTimestamp = "N/A";
+
+ try {
+ Activity activity = getActivity();
+
+ PackageInfo packageInfo = activity.getPackageManager().
+ getPackageInfo(activity.getPackageName(), 0);
+
+ version = packageInfo.versionName;
+ versionCode = packageInfo.versionCode;
+
+ ApplicationInfo appInfo = activity.getPackageManager().
+ getApplicationInfo(activity.getPackageName(), 0);
+
+ ZipFile zf = new ZipFile(appInfo.sourceDir);
+ ZipEntry ze = zf.getEntry("classes.dex");
+ long time = ze.getTime();
+
+ buildTimestamp = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss",
+ Locale.getDefault()).format(time);
+
+
+ findPreference("version").setSummary(getString(R.string.prefs_version, version, versionCode));
+ findPreference("build_timestamp").setSummary(getString(R.string.prefs_build_timestamp, buildTimestamp));
+
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+} \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/layout/preferences.xml b/org.fox.ttrss/src/main/res/layout/preferences.xml
new file mode 100644
index 00000000..e68fa9e4
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/layout/preferences.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/preferences_container"
+ android:fitsSystemWindows="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+</FrameLayout> \ No newline at end of file