Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26e57600 authored by Salvador Martinez's avatar Salvador Martinez
Browse files

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
parent cf0f3012
Loading
Loading
Loading
Loading
+19 −15
Original line number Diff line number Diff line
@@ -16,9 +16,7 @@ package com.android.settings.applications;

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.provider.Settings.Global;
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 @@ import java.util.ArrayList;
 * 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 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
    @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        setLoading(true, false);
    }

    @Override
@@ -141,7 +133,6 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
            }
        }
        rebuildAppList(mDomainAppList, apps);
        setLoading(false, true);
    }

    @Override
@@ -173,6 +164,7 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
            if (preference == null) {
                preference = new DomainAppPreference(getPrefContext(), entry);
                preference.setKey(key);
                preference.setOnPreferenceClickListener(this);
                group.addPreference(preference);
            } else {
                preference.reuse();
@@ -208,6 +200,18 @@ public class ManageDomainUrls extends SettingsPreferenceFragment
        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;