Added onClick logic for domain url list screen
This class was created from a code refactoring
in ManageApplications but the functionality
associated with clicking on a preference was
accidently left out. This CL restores that
functionality.
Test: run ManageDomainUrlsEspressoTest class
Bug: 31958776
Change-Id: I1a7f5ee92daeebdb9fd7d9c83a564f0d104aa562
(cherry picked from commit 26e5760033c5c3d4f64a0cb34e436fdd95bf7e68)
diff --git a/src/com/android/settings/applications/ManageDomainUrls.java b/src/com/android/settings/applications/ManageDomainUrls.java
index 13e105d..4ffdbf4 100644
--- a/src/com/android/settings/applications/ManageDomainUrls.java
+++ b/src/com/android/settings/applications/ManageDomainUrls.java
@@ -16,9 +16,7 @@
import android.app.Application;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.pm.PackageManager;
-import android.os.Build;
import android.os.Bundle;
import android.os.UserHandle;
import android.provider.Settings;
@@ -26,28 +24,19 @@
import android.support.v14.preference.SwitchPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
+import android.support.v7.preference.Preference.OnPreferenceClickListener;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceGroup;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.ArraySet;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
import android.view.View;
import com.android.internal.logging.MetricsProto.MetricsEvent;
-import com.android.settings.AppHeader;
import com.android.settings.R;
-import com.android.settings.SettingsActivity;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
-import com.android.settings.applications.AppInfoBase;
-import com.android.settings.applications.AppStateBaseBridge;
-import com.android.settings.applications.InstalledAppDetails;
-import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
import com.android.settingslib.applications.ApplicationsState;
import com.android.settingslib.applications.ApplicationsState.AppEntry;
-import com.android.settingslib.applications.ApplicationsState.AppFilter;
import java.util.ArrayList;
@@ -56,7 +45,11 @@
* handling as well as system handling for Web Actions.
*/
public class ManageDomainUrls extends SettingsPreferenceFragment
- implements ApplicationsState.Callbacks, OnPreferenceChangeListener {
+ implements ApplicationsState.Callbacks, OnPreferenceChangeListener,
+ OnPreferenceClickListener {
+
+ // constant value that can be used to check return code from sub activity.
+ private static final int INSTALLED_APP_DETAILS = 1;
private ApplicationsState mApplicationsState;
private ApplicationsState.Session mSession;
@@ -77,7 +70,6 @@
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
- setLoading(true, false);
}
@Override
@@ -141,7 +133,6 @@
}
}
rebuildAppList(mDomainAppList, apps);
- setLoading(false, true);
}
@Override
@@ -173,6 +164,7 @@
if (preference == null) {
preference = new DomainAppPreference(getPrefContext(), entry);
preference.setKey(key);
+ preference.setOnPreferenceClickListener(this);
group.addPreference(preference);
} else {
preference.reuse();
@@ -208,6 +200,18 @@
return MetricsEvent.MANAGE_DOMAIN_URLS;
}
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ if (preference.getClass() == DomainAppPreference.class) {
+ ApplicationsState.AppEntry entry = ((DomainAppPreference) preference).mEntry;
+ AppInfoBase.startAppInfoFragment(AppLaunchSettings.class, R.string.auto_launch_label,
+ entry.info.packageName, entry.info.uid, this,
+ INSTALLED_APP_DETAILS);
+ return true;
+ }
+ return false;
+ }
+
private class DomainAppPreference extends Preference {
private final AppEntry mEntry;
private final PackageManager mPm;