From 11b06ca8bfcd49fd96ad7746b6d4ad7efc927630 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Tue, 19 Apr 2016 10:05:08 -0700 Subject: [PATCH] Fixed AccessPreference listener. When an app is blacklisted, its switch toggle is disabled, but previous the onClick() method was still being called, which would launch the data usage screen but also call setIsWhitelist(). BUG: 27481520 Change-Id: Id8df3d65eee286d1aecb4ae2a0417d6932d91441 --- .../datausage/UnrestrictedDataAccess.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccess.java b/src/com/android/settings/datausage/UnrestrictedDataAccess.java index c8df0ba4457..650b0b21999 100644 --- a/src/com/android/settings/datausage/UnrestrictedDataAccess.java +++ b/src/com/android/settings/datausage/UnrestrictedDataAccess.java @@ -227,19 +227,20 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment if (mEntry.icon != null) { setIcon(mEntry.icon); } - setOnPreferenceClickListener( new OnPreferenceClickListener() { + } - @Override - public boolean onPreferenceClick(Preference pref) { - if (mState.isDataSaverBlacklisted) { - InstalledAppDetails.startAppInfoFragment(AppDataUsage.class, - context.getString(R.string.app_data_usage), - UnrestrictedDataAccess.this, - mEntry); - return false; - } - return true; - }}); + @Override + protected void onClick() { + if (mState.isDataSaverBlacklisted) { + // app is blacklisted, launch App Data Usage screen + InstalledAppDetails.startAppInfoFragment(AppDataUsage.class, + getContext().getString(R.string.app_data_usage), + UnrestrictedDataAccess.this, + mEntry); + } else { + // app is not blacklisted, let superclass handle toggle switch + super.onClick(); + } } // Sets UI state based on whitelist/blacklist status.