diff options
author | Scott Brady <sbradymobile@gmail.com> | 2013-07-13 10:48:53 -0400 |
---|---|---|
committer | Paul Beeler <sparksco@gmail.com> | 2013-07-15 20:53:22 -0600 |
commit | 1d0cc231bf09d46f7f6fdd7d69e036fb458b410a (patch) | |
tree | ad7267bf72bb38156538549a50d0e5290f6d92b1 | |
parent | 300fa0baaf6a4a3c7a8d7fd47054604d1f1e71da (diff) | |
download | packages_apps_settings-1d0cc231bf09d46f7f6fdd7d69e036fb458b410a.zip packages_apps_settings-1d0cc231bf09d46f7f6fdd7d69e036fb458b410a.tar.gz packages_apps_settings-1d0cc231bf09d46f7f6fdd7d69e036fb458b410a.tar.bz2 |
Fix IllegalArgumentException in Privacy Guard Manager
On tablets such as manta a this occurs. To reproduce go into PGM, press
the back button one time, then go back into PGM.
http://pastebin.com/N7XAybUB
Remove privacy guard fragment in onDestroyView
Change-Id: I61cebe273fa6fd514f18c86894acd176701148f6
Check if fragment transaction is empty before attempting to remove it
Change-Id: I08591c89559d33fee30ac2934fdbcc30637147da
PrivacyGuard fragment fix - change from empty check to isDestroyed check
Change-Id: I52fe44b7446cd16793df6ac9cdbe31e2ddd70210
Signed-off-by: Paul Beeler <sparksco@gmail.com>
PrivacyGuardManager: Reduce calls to getFragmentManager
Change-Id: I74f07a58b09cf0e9114d0c1c56e9a97d55ab0900
-rw-r--r-- | src/com/android/settings/cyanogenmod/privacyguard/PrivacyGuardManager.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/settings/cyanogenmod/privacyguard/PrivacyGuardManager.java b/src/com/android/settings/cyanogenmod/privacyguard/PrivacyGuardManager.java index 9e27147..51942ae 100644 --- a/src/com/android/settings/cyanogenmod/privacyguard/PrivacyGuardManager.java +++ b/src/com/android/settings/cyanogenmod/privacyguard/PrivacyGuardManager.java @@ -21,6 +21,7 @@ import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.app.Fragment; +import android.app.FragmentManager; import android.content.ActivityNotFoundException; import android.content.DialogInterface; import android.content.Intent; @@ -107,6 +108,16 @@ public class PrivacyGuardManager extends Fragment } @Override + public void onDestroyView() { + super.onDestroyView(); + FragmentManager fm = getFragmentManager(); + Fragment f = fm.findFragmentById(R.id.privacy_guard_prefs); + if (f != null && !fm.isDestroyed()) { + fm.beginTransaction().remove(f).commit(); + } + } + + @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); |