Add ability to open up "Open by default" page directly via intent.

Bug: 74010481
Test: Manually check; sending an Intent with package:// scheme works, if
originated from app of same cert.
Change-Id: I5700e495d259d0197421f40594861bc43e3c154c
This commit is contained in:
Ben Lin
2018-02-27 15:31:40 -08:00
parent 46d6ecc2b1
commit 8e2f5a758b
2 changed files with 47 additions and 0 deletions

View File

@@ -1180,6 +1180,17 @@
</intent-filter> </intent-filter>
</activity-alias> </activity-alias>
<activity android:name=".applications.InstalledAppOpenByDefaultPage"
android:label="@string/application_info_label"
android:permission="android.permission.OPEN_APPLICATION_DETAILS_OPEN_BY_DEFAULT_PAGE"
android:exported="true">
<intent-filter android:priority="1">
<action android:name="android.settings.APPLICATION_DETAILS_SETTINGS_OPEN_BY_DEFAULT_PAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
</activity>
<!-- Provide direct entry into manage apps showing running services. --> <!-- Provide direct entry into manage apps showing running services. -->
<activity android:name="Settings$RunningServicesActivity" <activity android:name="Settings$RunningServicesActivity"
android:label="@string/runningservices_settings_title" android:label="@string/runningservices_settings_title"

View File

@@ -0,0 +1,36 @@
/*
* Copyright (C) 2018 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.settings.applications;
import android.content.Intent;
import com.android.settings.SettingsActivity;
public class InstalledAppOpenByDefaultPage extends SettingsActivity {
@Override
public Intent getIntent() {
Intent modIntent = new Intent(super.getIntent());
modIntent.putExtra(EXTRA_SHOW_FRAGMENT, AppLaunchSettings.class.getName());
return modIntent;
}
@Override
protected boolean isValidFragment(String fragmentName) {
return AppLaunchSettings.class.getName().equals(fragmentName);
}
}