summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java')
-rwxr-xr-x[-rw-r--r--]org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java78
1 files changed, 27 insertions, 51 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
index 9ae89c7..457e503 100644..100755
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/PreferencesFragment.java
@@ -1,14 +1,10 @@
package org.fox.ttcomics2;
-import android.accounts.Account;
-import android.accounts.AccountManager;
import android.app.Activity;
import android.app.AlertDialog;
-import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
@@ -16,15 +12,14 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
-import android.widget.Toast;
+
+import com.google.android.gms.auth.GoogleAuthUtil;
+import com.google.android.gms.common.AccountPicker;
import org.fox.ttcomics2.sync.SyncClient;
-import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.Locale;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
+import java.util.Date;
public class PreferencesFragment extends PreferenceFragment {
@@ -52,19 +47,11 @@ public class PreferencesFragment extends PreferenceFragment {
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));
+
+ buildTimestamp = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(new Date(BuildConfig.TIMESTAMP));
findPreference("build_timestamp").setSummary(getString(R.string.prefs_build_timestamp, buildTimestamp));
+
findPreference("privacy_policy").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -77,15 +64,12 @@ public class PreferencesFragment extends PreferenceFragment {
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
}
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getActivity().getApplicationContext());
- Preference dirPref = findPreference("comics_directory");
- dirPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ findPreference("comics_directory").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
((PreferencesActivity)getActivity()).startPicker();
@@ -93,8 +77,21 @@ public class PreferencesFragment extends PreferenceFragment {
}
});
- Preference clearPref = findPreference("clear_sync_data");
- clearPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ findPreference("choose_sync_account").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ Intent googlePicker = AccountPicker.newChooseAccountIntent(null, null,
+ new String[]{GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE}, true, null, null, null, null);
+
+ getActivity().startActivityForResult(googlePicker, CommonActivity.REQUEST_SYNC_ACCOUNT);
+
+ return true;
+ }
+ });
+
+ findPreference("choose_sync_account").setSummary(prefs.getString("sync_account", getString(R.string.sync_account_not_set)));
+
+ findPreference("clear_sync_data").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
@@ -103,26 +100,16 @@ public class PreferencesFragment extends PreferenceFragment {
.setPositiveButton(R.string.dialog_clear_data, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
- String googleAccount = getGoogleAccount();
+ String syncAccount = CommonActivity.getSyncAccount(getActivity().getApplicationContext());
SyncClient m_syncClient = new SyncClient();
- if (googleAccount != null) {
- m_syncClient.setOwner(googleAccount);
+ if (syncAccount != null) {
+ m_syncClient.setOwner(syncAccount);
} else {
if (BuildConfig.DEBUG) {
m_syncClient.setOwner("TEST-ACCOUNT");
-
- //Toast toast = Toast.makeText(getActivity(), R.string.sync_running_in_test_mode, Toast.LENGTH_SHORT);
- //toast.show();
} else {
- m_syncClient.setOwner(null);
-
- SharedPreferences.Editor editor = prefs.edit();
- editor.putBoolean("use_position_sync", false);
- editor.apply();
-
- Toast toast = Toast.makeText(getActivity(), R.string.error_sync_no_account, Toast.LENGTH_SHORT);
- toast.show();
+ ((CommonActivity)getActivity()).toast(R.string.error_sync_no_account);
}
}
@@ -144,15 +131,4 @@ public class PreferencesFragment extends PreferenceFragment {
});
}
- public String getGoogleAccount() {
- AccountManager manager = (AccountManager) getActivity().getSystemService(Context.ACCOUNT_SERVICE);
- Account[] list = manager.getAccounts();
-
- for (Account account: list) {
- if (account.type.equalsIgnoreCase("com.google")) {
- return account.name;
- }
- }
- return null;
- }
} \ No newline at end of file