Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/AccountActivity.java +4 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ import android.view.View; import it.niedermann.owncloud.notes.R; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_IS_DEVICE_ACCOUNT; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_KEY_ETAG; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_KEY_LAST_MODIFIED; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_PASSWORD; Loading @@ -23,7 +24,7 @@ public class AccountActivity extends AppCompatActivity { private final static String key_login_account = "login_account"; private final static String login_account_eelo = "login_account_eelo"; private final static String login_account_manual = "login_account_manual"; private final static String eelo_account_type = "bitfire.at.davdroid.eelo"; public final static String eelo_account_type = "bitfire.at.davdroid.eelo"; private final static int pick_account_request_code = 1; Loading @@ -49,6 +50,7 @@ public class AccountActivity extends AppCompatActivity { .getUserData(eeloAccounts[0], "email_address")); editor.putString(SETTINGS_PASSWORD, accountManager .getPassword(eeloAccounts[0])); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, true); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading Loading @@ -106,6 +108,7 @@ public class AccountActivity extends AppCompatActivity { .getUserData(account, "email_address")); editor.putString(SETTINGS_PASSWORD, accountManager .getPassword(account)); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, true); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +50 −0 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.accounts.Account; import android.accounts.AccountManager; import android.app.SearchManager; import android.content.Intent; import android.content.res.Configuration; Loading @@ -7,6 +9,7 @@ import android.graphics.Canvas; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; import android.provider.Settings; import android.support.annotation.Nullable; import android.support.design.widget.CoordinatorLayout; Loading Loading @@ -50,6 +53,11 @@ import it.niedermann.owncloud.notes.util.ICallback; import it.niedermann.owncloud.notes.util.NoteUtil; import it.niedermann.owncloud.notes.util.NotesClientUtil; import static it.niedermann.owncloud.notes.android.activity.AccountActivity.eelo_account_type; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_IS_DEVICE_ACCOUNT; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_PASSWORD; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_USERNAME; public class NotesListViewActivity extends AppCompatActivity implements ItemAdapter.NoteClickListener { public final static String CREATED_NOTE = "it.niedermann.owncloud.notes.created_notes"; Loading @@ -69,6 +77,7 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap private final static String key_login_account = "login_account"; private final static String login_account_eelo = "login_account_eelo"; private final static String key_email_address = "email_address"; @BindView(R.id.notesListActivityActionBar) Loading Loading @@ -121,6 +130,15 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap Intent settingsIntent = new Intent(this, AccountActivity.class); startActivityForResult(settingsIntent, login_account); } if (PreferenceManager.getDefaultSharedPreferences(this) .getBoolean(SETTINGS_IS_DEVICE_ACCOUNT, false)) { if (hasAccountBeenRemoved() || hasAccountPasswordChanged()) { Intent settingsIntent = new Intent(this, AccountActivity.class); startActivityForResult(settingsIntent, login_account); } } String categoryAdapterSelectedItem = ADAPTER_KEY_RECENT; if (savedInstanceState != null) { navigationSelection = (Category) savedInstanceState.getSerializable(SAVED_STATE_NAVIGATION_SELECTION); Loading @@ -139,6 +157,38 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap setupNavigationMenu(); } private boolean hasAccountBeenRemoved() { AccountManager accountManager = AccountManager.get(this); String userName = PreferenceManager.getDefaultSharedPreferences(this) .getString(SETTINGS_USERNAME, ""); Account[] eeloAccounts = accountManager.getAccountsByType(eelo_account_type); boolean hasAccountBeenRemoved = true; for (Account account : eeloAccounts) { if (accountManager.getUserData(account, key_email_address).equals(userName)) { hasAccountBeenRemoved = false; break; } } return hasAccountBeenRemoved; } private boolean hasAccountPasswordChanged() { AccountManager accountManager = AccountManager.get(this); String password = PreferenceManager.getDefaultSharedPreferences(this) .getString(SETTINGS_PASSWORD, ""); Account[] eeloAccounts = accountManager.getAccountsByType(eelo_account_type); boolean hasAccountPasswordChanged = true; for (Account account : eeloAccounts) { if (accountManager.getPassword(account).equals(password)) { hasAccountPasswordChanged = false; break; } } return hasAccountPasswordChanged; } @Override protected void onResume() { // refresh and sync every time the activity gets visible Loading app/src/main/java/it/niedermann/owncloud/notes/android/activity/SettingsActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public class SettingsActivity extends AppCompatActivity { public static final String SETTINGS_PASSWORD = "settingsPassword"; public static final String SETTINGS_KEY_ETAG = "notes_last_etag"; public static final String SETTINGS_KEY_LAST_MODIFIED = "notes_last_modified"; public static final String SETTINGS_IS_DEVICE_ACCOUNT = "is_device_account"; public static final String DEFAULT_SETTINGS = ""; public static final int CREDENTIALS_CHANGED = 3; Loading Loading @@ -255,6 +256,7 @@ public class SettingsActivity extends AppCompatActivity { editor.putString(SETTINGS_URL, url); editor.putString(SETTINGS_USERNAME, username); editor.putString(SETTINGS_PASSWORD, password); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, false); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading cert4android @ cb7f4adc Original line number Diff line number Diff line Subproject commit e9eab2ca70525107d9ee1377602d107c4776c312 Subproject commit cb7f4adc34ec1565faa0427d97c4f0c74dc159de Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/AccountActivity.java +4 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ import android.view.View; import it.niedermann.owncloud.notes.R; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_IS_DEVICE_ACCOUNT; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_KEY_ETAG; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_KEY_LAST_MODIFIED; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_PASSWORD; Loading @@ -23,7 +24,7 @@ public class AccountActivity extends AppCompatActivity { private final static String key_login_account = "login_account"; private final static String login_account_eelo = "login_account_eelo"; private final static String login_account_manual = "login_account_manual"; private final static String eelo_account_type = "bitfire.at.davdroid.eelo"; public final static String eelo_account_type = "bitfire.at.davdroid.eelo"; private final static int pick_account_request_code = 1; Loading @@ -49,6 +50,7 @@ public class AccountActivity extends AppCompatActivity { .getUserData(eeloAccounts[0], "email_address")); editor.putString(SETTINGS_PASSWORD, accountManager .getPassword(eeloAccounts[0])); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, true); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading Loading @@ -106,6 +108,7 @@ public class AccountActivity extends AppCompatActivity { .getUserData(account, "email_address")); editor.putString(SETTINGS_PASSWORD, accountManager .getPassword(account)); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, true); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/NotesListViewActivity.java +50 −0 Original line number Diff line number Diff line package it.niedermann.owncloud.notes.android.activity; import android.accounts.Account; import android.accounts.AccountManager; import android.app.SearchManager; import android.content.Intent; import android.content.res.Configuration; Loading @@ -7,6 +9,7 @@ import android.graphics.Canvas; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; import android.provider.Settings; import android.support.annotation.Nullable; import android.support.design.widget.CoordinatorLayout; Loading Loading @@ -50,6 +53,11 @@ import it.niedermann.owncloud.notes.util.ICallback; import it.niedermann.owncloud.notes.util.NoteUtil; import it.niedermann.owncloud.notes.util.NotesClientUtil; import static it.niedermann.owncloud.notes.android.activity.AccountActivity.eelo_account_type; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_IS_DEVICE_ACCOUNT; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_PASSWORD; import static it.niedermann.owncloud.notes.android.activity.SettingsActivity.SETTINGS_USERNAME; public class NotesListViewActivity extends AppCompatActivity implements ItemAdapter.NoteClickListener { public final static String CREATED_NOTE = "it.niedermann.owncloud.notes.created_notes"; Loading @@ -69,6 +77,7 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap private final static String key_login_account = "login_account"; private final static String login_account_eelo = "login_account_eelo"; private final static String key_email_address = "email_address"; @BindView(R.id.notesListActivityActionBar) Loading Loading @@ -121,6 +130,15 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap Intent settingsIntent = new Intent(this, AccountActivity.class); startActivityForResult(settingsIntent, login_account); } if (PreferenceManager.getDefaultSharedPreferences(this) .getBoolean(SETTINGS_IS_DEVICE_ACCOUNT, false)) { if (hasAccountBeenRemoved() || hasAccountPasswordChanged()) { Intent settingsIntent = new Intent(this, AccountActivity.class); startActivityForResult(settingsIntent, login_account); } } String categoryAdapterSelectedItem = ADAPTER_KEY_RECENT; if (savedInstanceState != null) { navigationSelection = (Category) savedInstanceState.getSerializable(SAVED_STATE_NAVIGATION_SELECTION); Loading @@ -139,6 +157,38 @@ public class NotesListViewActivity extends AppCompatActivity implements ItemAdap setupNavigationMenu(); } private boolean hasAccountBeenRemoved() { AccountManager accountManager = AccountManager.get(this); String userName = PreferenceManager.getDefaultSharedPreferences(this) .getString(SETTINGS_USERNAME, ""); Account[] eeloAccounts = accountManager.getAccountsByType(eelo_account_type); boolean hasAccountBeenRemoved = true; for (Account account : eeloAccounts) { if (accountManager.getUserData(account, key_email_address).equals(userName)) { hasAccountBeenRemoved = false; break; } } return hasAccountBeenRemoved; } private boolean hasAccountPasswordChanged() { AccountManager accountManager = AccountManager.get(this); String password = PreferenceManager.getDefaultSharedPreferences(this) .getString(SETTINGS_PASSWORD, ""); Account[] eeloAccounts = accountManager.getAccountsByType(eelo_account_type); boolean hasAccountPasswordChanged = true; for (Account account : eeloAccounts) { if (accountManager.getPassword(account).equals(password)) { hasAccountPasswordChanged = false; break; } } return hasAccountPasswordChanged; } @Override protected void onResume() { // refresh and sync every time the activity gets visible Loading
app/src/main/java/it/niedermann/owncloud/notes/android/activity/SettingsActivity.java +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ public class SettingsActivity extends AppCompatActivity { public static final String SETTINGS_PASSWORD = "settingsPassword"; public static final String SETTINGS_KEY_ETAG = "notes_last_etag"; public static final String SETTINGS_KEY_LAST_MODIFIED = "notes_last_modified"; public static final String SETTINGS_IS_DEVICE_ACCOUNT = "is_device_account"; public static final String DEFAULT_SETTINGS = ""; public static final int CREDENTIALS_CHANGED = 3; Loading Loading @@ -255,6 +256,7 @@ public class SettingsActivity extends AppCompatActivity { editor.putString(SETTINGS_URL, url); editor.putString(SETTINGS_USERNAME, username); editor.putString(SETTINGS_PASSWORD, password); editor.putBoolean(SETTINGS_IS_DEVICE_ACCOUNT, false); editor.remove(SETTINGS_KEY_ETAG); editor.remove(SETTINGS_KEY_LAST_MODIFIED); editor.apply(); Loading
cert4android @ cb7f4adc Original line number Diff line number Diff line Subproject commit e9eab2ca70525107d9ee1377602d107c4776c312 Subproject commit cb7f4adc34ec1565faa0427d97c4f0c74dc159de