diff options
author | Hai Zhang <zhanghai@google.com> | 2019-05-17 13:13:18 -0700 |
---|---|---|
committer | Hai Zhang <zhanghai@google.com> | 2019-05-17 13:13:18 -0700 |
commit | 9d0d607a0c77dae5ae1d9a8da117010f57d8a6aa (patch) | |
tree | 80f1ed78a325aa960de94b27cc5b4d3268e69af7 | |
parent | 2f9be5290ce3a682738a68cd337872c031a5f30d (diff) | |
download | android_packages_apps_PackageInstaller-9d0d607a0c77dae5ae1d9a8da117010f57d8a6aa.tar.gz android_packages_apps_PackageInstaller-9d0d607a0c77dae5ae1d9a8da117010f57d8a6aa.tar.bz2 android_packages_apps_PackageInstaller-9d0d607a0c77dae5ae1d9a8da117010f57d8a6aa.zip |
Open the default home settings directly with android.settings.HOME_SETTINGS.
As now we can skip the parent page in the new implementation.
Bug: 132975240
Bug: 132909319
Test: adb shell am start -a android.settings.HOME_SETTINGS
Change-Id: Ib42b22f31f5a101443eb80a3578ef5d66fe298be
-rw-r--r-- | AndroidManifest.xml | 15 | ||||
-rw-r--r-- | src/com/android/packageinstaller/role/ui/HomeSettingsActivity.java | 40 |
2 files changed, 50 insertions, 5 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c2e44217..2c77f523 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -196,11 +196,6 @@ <action android:name="android.settings.MANAGE_DEFAULT_APPS_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> - <!-- TODO: STOPSHIP: Redirect into its own default app page? --> - <intent-filter android:priority="2"> - <action android:name="android.settings.HOME_SETTINGS" /> - <category android:name="android.intent.category.DEFAULT" /> - </intent-filter> </activity> <activity android:name="com.android.packageinstaller.role.ui.DefaultAppActivity" @@ -212,6 +207,16 @@ </intent-filter> </activity> + <activity android:name="com.android.packageinstaller.role.ui.HomeSettingsActivity" + android:excludeFromRecents="true" + android:noHistory="true" + android:theme="@android:style/Theme.NoDisplay"> + <intent-filter android:priority="2"> + <action android:name="android.settings.HOME_SETTINGS" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter> + </activity> + <activity android:name="com.android.packageinstaller.role.ui.SpecialAppAccessListActivity" android:label="@string/special_app_access" android:permission="android.permission.MANAGE_ROLE_HOLDERS" diff --git a/src/com/android/packageinstaller/role/ui/HomeSettingsActivity.java b/src/com/android/packageinstaller/role/ui/HomeSettingsActivity.java new file mode 100644 index 00000000..709737a9 --- /dev/null +++ b/src/com/android/packageinstaller/role/ui/HomeSettingsActivity.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.packageinstaller.role.ui; + +import android.app.Activity; +import android.app.role.RoleManager; +import android.content.Intent; +import android.os.Bundle; +import android.os.Process; + +/** + * Activity to handle @{link android.provider.Settings#ACTION_HOME_SETTINGS}. + */ +public class HomeSettingsActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = DefaultAppActivity.createIntent(RoleManager.ROLE_HOME, + Process.myUserHandle(), this) + .addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); + startActivity(intent); + finish(); + } +} |