From f9557cca37d914092b9b641624781aa346334b04 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 18 Jul 2018 13:38:04 +0200 Subject: [PATCH] Don't try to delete contacts if we don't have permission anymore --- .../service/ContactSyncAdapterService.java | 17 ----------------- .../keychain/ui/SettingsActivity.java | 5 ----- .../keychain/ui/base/BaseActivity.java | 10 +--------- 3 files changed, 1 insertion(+), 31 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ContactSyncAdapterService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ContactSyncAdapterService.java index ffd3daec6..b87cc8591 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ContactSyncAdapterService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/ContactSyncAdapterService.java @@ -135,23 +135,6 @@ public class ContactSyncAdapterService extends Service { ContentResolver.setSyncAutomatically(account, ContactsContract.AUTHORITY, true); } - public static void deleteIfSyncDisabled(Context context) { - if (!(ContextCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS) - == PackageManager.PERMISSION_GRANTED)) { - return; - } - - Account account = KeychainApplication.createAccountIfNecessary(context); - if (account == null) { - return; - } - - // if user has disabled automatic sync, delete linked OpenKeychain contacts - if (!ContentResolver.getSyncAutomatically(account, ContactsContract.AUTHORITY)) { - new ContactHelper(context).deleteAllContacts(); - } - } - // TODO: Import is currently disabled, until we implement proper origin management // private static void importKeys() { // importDone.set(false); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java index 09994ebb0..1bc83869e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java @@ -56,8 +56,6 @@ import org.sufficientlysecure.keychain.compatibility.AppCompatPreferenceActivity import org.sufficientlysecure.keychain.keyimport.HkpKeyserverAddress; import org.sufficientlysecure.keychain.keysync.KeyserverSyncManager; import org.sufficientlysecure.keychain.network.orbot.OrbotHelper; -import org.sufficientlysecure.keychain.service.ContactSyncAdapterService; -import org.sufficientlysecure.keychain.ui.base.BaseActivity; import org.sufficientlysecure.keychain.ui.util.Notify; import org.sufficientlysecure.keychain.ui.util.ThemeChanger; import org.sufficientlysecure.keychain.util.Preferences; @@ -86,7 +84,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity { @Override protected void onResume() { super.onResume(); - BaseActivity.onResumeChecks(this); if (mThemeChanger.changeTheme()) { Intent intent = getIntent(); @@ -468,8 +465,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity { } // disable syncs ContentResolver.setSyncAutomatically(account, authority, false); - // immediately delete any linked contacts - ContactSyncAdapterService.deleteIfSyncDisabled(getActivity()); // cancel any ongoing/pending syncs ContentResolver.cancelSync(account, authority); setSummary(syncCheckBox, authority, false); diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java index 626bd8fb9..ed0790243 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/base/BaseActivity.java @@ -17,8 +17,8 @@ package org.sufficientlysecure.keychain.ui.base; + import android.app.Activity; -import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBar; @@ -32,7 +32,6 @@ import android.view.ViewGroup; import android.widget.TextView; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.service.ContactSyncAdapterService; import org.sufficientlysecure.keychain.ui.util.ThemeChanger; /** @@ -54,7 +53,6 @@ public abstract class BaseActivity extends AppCompatActivity { @Override protected void onResume() { super.onResume(); - onResumeChecks(this); if (mThemeChanger != null && mThemeChanger.changeTheme()) { Intent intent = getIntent(); @@ -75,11 +73,6 @@ public abstract class BaseActivity extends AppCompatActivity { return super.onOptionsItemSelected(item); } - public static void onResumeChecks(Context context) { - // in case user has disabled sync from Android account settings - ContactSyncAdapterService.deleteIfSyncDisabled(context); - } - protected void initLayout() { } @@ -191,5 +184,4 @@ public abstract class BaseActivity extends AppCompatActivity { getSupportActionBar().setCustomView(customActionBarView, new ActionBar.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } - }