Fixes instant apps on the Opening links screen

Updates strings to the correct values.

Adds the Instant apps account preference, which launches the
instant apps accounts chooser.

Test: manual test of the settings screen.
Bug: 36514506
Change-Id: I876d0d242bf40a379a3737bc6422e2835fc17839
(cherry picked from commit 1c218c8368)
This commit is contained in:
Jesse Evans
2017-03-31 16:11:53 -07:00
committed by Patrick Baumann
parent 0c4747401a
commit 0bf40ff77c
2 changed files with 33 additions and 6 deletions

View File

@@ -15,7 +15,9 @@
package com.android.settings.applications;
import android.app.Application;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.UserHandle;
@@ -55,6 +57,7 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
private ApplicationsState.Session mSession;
private PreferenceGroup mDomainAppList;
private SwitchPreference mWebAction;
private Preference mInstantAppAccountPreference;
@Override
public void onCreate(Bundle icicle) {
@@ -126,6 +129,26 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
mWebAction.setOnPreferenceChangeListener(this);
webActionCategory.addPreference(mWebAction);
// Determine whether we should show the instant apps account chooser setting
ComponentName instantAppSettingsComponent = getActivity().getPackageManager()
.getInstantAppResolverSettingsComponent();
Intent instantAppSettingsIntent = null;
if (instantAppSettingsComponent != null) {
instantAppSettingsIntent =
new Intent().setComponent(instantAppSettingsComponent);
}
if (instantAppSettingsIntent != null) {
final Intent launchIntent = instantAppSettingsIntent;
// TODO: Make this button actually launch the account chooser.
mInstantAppAccountPreference = new Preference(getPrefContext());
mInstantAppAccountPreference.setTitle(R.string.instant_apps_account);
mInstantAppAccountPreference.setOnPreferenceClickListener(pref -> {
startActivity(launchIntent);
return true;
});
webActionCategory.addPreference(mInstantAppAccountPreference);
}
// list to manage link handling per app
mDomainAppList = new PreferenceCategory(getPrefContext());
mDomainAppList.setTitle(R.string.domain_url_section_title);
@@ -138,9 +161,11 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (preference == mWebAction) {
final int enabled = (boolean) newValue ? 1 : 0;
boolean checked = (boolean) newValue;
Settings.Secure.putInt(
getContentResolver(), Settings.Secure.WEB_ACTION_ENABLED, enabled);
getContentResolver(),
Settings.Secure.WEB_ACTION_ENABLED, checked ? 1 : 0);
mWebAction.setChecked(checked);
return true;
}
return false;