diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 87542d69704dd49212817f2c3fc5638d9cff6605..f33ed8e048638aa4d72ff4e162c1764cd598b93c 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -3325,6 +3325,23 @@ + + + + + + + + + + + + + diff --git a/res/drawable-hdpi/ic_open_keychain.png b/res/drawable-hdpi/ic_open_keychain.png new file mode 100644 index 0000000000000000000000000000000000000000..6133816d2210a76f7853874ff9f0dafe2fa05dae Binary files /dev/null and b/res/drawable-hdpi/ic_open_keychain.png differ diff --git a/res/drawable-mdpi/ic_open_keychain.png b/res/drawable-mdpi/ic_open_keychain.png new file mode 100644 index 0000000000000000000000000000000000000000..d945a01deb319d38404eac1e3d489cb78cd908a0 Binary files /dev/null and b/res/drawable-mdpi/ic_open_keychain.png differ diff --git a/res/drawable-xhdpi/ic_open_keychain.png b/res/drawable-xhdpi/ic_open_keychain.png new file mode 100644 index 0000000000000000000000000000000000000000..825b18b38699cdba0a9d23bbda701899abd86c09 Binary files /dev/null and b/res/drawable-xhdpi/ic_open_keychain.png differ diff --git a/res/drawable-xxhdpi/ic_open_keychain.png b/res/drawable-xxhdpi/ic_open_keychain.png new file mode 100644 index 0000000000000000000000000000000000000000..4809acc3939d7882f57a6fe2e35591dd923a5056 Binary files /dev/null and b/res/drawable-xxhdpi/ic_open_keychain.png differ diff --git a/res/drawable-xxxhdpi/ic_open_keychain.png b/res/drawable-xxxhdpi/ic_open_keychain.png new file mode 100644 index 0000000000000000000000000000000000000000..fab324e93bde581cf46de52d9fa7367aaca7a492 Binary files /dev/null and b/res/drawable-xxxhdpi/ic_open_keychain.png differ diff --git a/res/values/strings.xml b/res/values/strings.xml index 4d54ad1f13cea43a6b44f7373e54e31fb6f1cc75..3dcdab5dcb38caf53c7fce8b667f9e02a200ae73 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -9057,4 +9057,5 @@ MicroG + OpenKeychain diff --git a/res/xml/open_keychain_prefs.xml b/res/xml/open_keychain_prefs.xml new file mode 100644 index 0000000000000000000000000000000000000000..9e2234458b4c87f6c65b60388eab10480bfdd7e1 --- /dev/null +++ b/res/xml/open_keychain_prefs.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/com/android/settings/OpenKeychainSettings.java b/src/com/android/settings/OpenKeychainSettings.java new file mode 100644 index 0000000000000000000000000000000000000000..1ea0f56b9185ee0919f4849c36e554f63786fd5a --- /dev/null +++ b/src/com/android/settings/OpenKeychainSettings.java @@ -0,0 +1,47 @@ +package com.android.settings; + +import android.os.Bundle; +import android.content.Intent; +import android.content.ComponentName; +import android.app.Fragment; + +import android.app.Activity; +import android.content.Context; +import android.provider.SearchIndexableResource; +import com.android.settings.R; +import com.android.settings.search.BaseSearchIndexProvider; +import com.android.settings.search.Indexable; +import java.util.ArrayList; +import java.util.List; + +public class OpenKeychainSettings extends Fragment { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = new Intent("android.intent.action.MAIN"); + intent.setComponent(new ComponentName("org.sufficientlysecure.keychain", "org.sufficientlysecure.keychain.ui.MainActivity")); + startActivity(intent); + + Activity activity = getActivity(); + + if (activity != null) { + activity.finish(); + } + } + + public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider() { + @Override + public List getXmlResourcesToIndex(Context context, + boolean enabled) { + final ArrayList result = new ArrayList<>(); + + final SearchIndexableResource sir = new SearchIndexableResource(context); + sir.xmlResId = R.xml.open_keychain_prefs; + result.add(sir); + return result; + } + }; +} diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index af4cf91b03847d7cada2fdf65301eb0bc40d6d74..8f32d3dc6b98391d755067467c9dec451fc61b78 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -172,6 +172,7 @@ public class Settings extends SettingsActivity { public static class WifiAPITestActivity extends SettingsActivity { /* empty */ } public static class WifiInfoActivity extends SettingsActivity { /* empty */ } public static class MicroGActivity extends SettingsActivity { /* empty */ } + public static class OpenKeychainActivity extends SettingsActivity { /* empty */ } public static class EnterprisePrivacySettingsActivity extends SettingsActivity { @Override public void onCreate(Bundle savedInstanceState) { diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java index b85a1946de791b70e8c41839095ae07d4677b256..31ac7252f3cea37f5e6005ee08ed5a5e0b22fd43 100644 --- a/src/com/android/settings/core/gateway/SettingsGateway.java +++ b/src/com/android/settings/core/gateway/SettingsGateway.java @@ -28,6 +28,7 @@ import com.android.settings.MasterClear; import com.android.settings.PrivacySettings; import com.android.settings.SecuritySettings; import com.android.settings.MicroGSettings; +import com.android.settings.OpenKeychainSettings; import com.android.settings.Settings; import com.android.settings.TestingSettings; import com.android.settings.TetherSettings; @@ -254,7 +255,8 @@ public class SettingsGateway { LockscreenDashboardFragment.class.getName(), BluetoothDeviceDetailsFragment.class.getName(), DataUsageList.class.getName(), - MicroGSettings.class.getName() + MicroGSettings.class.getName(), + OpenKeychainSettings.class.getName() }; diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index 029a45ac12c23dd9b0129a9cde839eebc8bc5cf8..9f462663933cc4c70cae6c7f385905d85e5ec503 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -89,6 +89,7 @@ import com.android.settings.wifi.ConfigureWifiSettings; import com.android.settings.wifi.SavedAccessPointsWifiSettings; import com.android.settings.wifi.WifiSettings; import com.android.settings.MicroGSettings; +import com.android.settings.OpenKeychainSettings; import java.util.Collection; import java.util.HashMap; @@ -218,6 +219,7 @@ public final class SearchIndexableResources { NO_DATA_RES_ID, R.drawable.ic_settings_storage); addIndex(MicroGSettings.class, R.xml.micro_g_prefs, R.drawable.ic_microg_settings); + addIndex(OpenKeychainSettings.class, R.xml.open_keychain_prefs, R.drawable.ic_open_keychain); } private SearchIndexableResources() {