summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java')
-rwxr-xr-xorg.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java75
1 files changed, 39 insertions, 36 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
index 2a867ae..7db1753 100755
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
@@ -1,18 +1,17 @@
package org.fox.ttcomics2;
-import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
-import android.widget.Toast;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
@@ -35,6 +34,7 @@ public class CommonActivity extends AppCompatActivity {
protected final static int REQUEST_SHARE = 1;
protected static final int REQUEST_VIEWCOMIC = 2;
protected static final int REQUEST_PERMISSIONS_RESULT = 3;
+ protected static final int REQUEST_SYNC_ACCOUNT = 4;
public static final String PRIVACY_POLICY_URL = "https://tt-rss.org/gitlab/fox/tt-comics/wikis/PrivacyPolicy";
@@ -81,27 +81,24 @@ public class CommonActivity extends AppCompatActivity {
}
protected void initSyncClient() {
- Log.d(TAG, "initSynClient");
+ Log.d(TAG, "initSyncClient");
if (isSyncEnabled()) {
- String googleAccount = getGoogleAccount(this);
+ String syncAccount = getSyncAccount(this);
- if (googleAccount != null) {
- m_syncClient.setOwner(googleAccount);
+ Log.d(TAG, "sync account=" + syncAccount);
+
+ if (syncAccount != null) {
+ m_syncClient.setOwner(syncAccount);
} else {
if (BuildConfig.DEBUG) {
m_syncClient.setOwner("TEST-ACCOUNT");
-
- //toast(R.string.sync_running_in_test_mode);
} else {
m_syncClient.setOwner(null);
- toast(R.string.error_sync_no_account);
-
- SharedPreferences.Editor editor = m_prefs.edit();
- editor.putBoolean("use_position_sync", false);
- editor.apply();
}
+
+ toast(R.string.error_sync_no_account);
}
} else {
@@ -109,6 +106,21 @@ public class CommonActivity extends AppCompatActivity {
}
}
+ @Override
+ protected void onActivityResult(final int requestCode, final int resultCode,
+ final Intent data) {
+
+ Log.d(TAG, "RQ=" + requestCode);
+
+ if (requestCode == REQUEST_SYNC_ACCOUNT && resultCode == RESULT_OK) {
+ String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
+
+ SharedPreferences.Editor editor = m_prefs.edit();
+ editor.putString("sync_account", accountName);
+ editor.apply();
+ }
+ }
+
public void onComicArchiveSelected(String fileName) {
//
}
@@ -117,7 +129,8 @@ public class CommonActivity extends AppCompatActivity {
public void onComicSelected(String fileName, int position) {
m_databaseHelper.setLastPosition(fileName, position);
}
-
+
+ @Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_settings:
@@ -182,34 +195,24 @@ public class CommonActivity extends AppCompatActivity {
return file.getAbsolutePath();
}
- public static String getGoogleAccount(Context ctx) {
- AccountManager manager = (AccountManager) ctx.getSystemService(ACCOUNT_SERVICE);
- Account[] list = manager.getAccounts();
-
- for (Account account: list) {
- if (account.type.equalsIgnoreCase("com.google")) {
- return account.name;
- }
- }
- return null;
+ public static String getSyncAccount(Context ctx) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx);
+ return prefs.getString("sync_account", null);
}
public void toast(int msgId) {
- try {
- Toast toast = Toast.makeText(CommonActivity.this, msgId, Toast.LENGTH_SHORT);
- toast.show();
- } catch (RuntimeException e) {
- // might happen if UI lags
- }
+ toast(getString(msgId));
}
public void toast(String msg) {
- try {
- Toast toast = Toast.makeText(CommonActivity.this, msg, Toast.LENGTH_SHORT);
- toast.show();
- } catch (RuntimeException e) {
- // might happen if UI lags
- }
+ Snackbar.make(findViewById(android.R.id.content), msg, Snackbar.LENGTH_LONG)
+ .setAction(R.string.dialog_close, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ }
+ })
+ .show();
}
public void cleanupCache() {