diff options
author | d34d <clark@cyngn.com> | 2016-05-17 11:55:28 -0700 |
---|---|---|
committer | d34d <clark@cyngn.com> | 2016-05-17 11:59:10 -0700 |
commit | a74e3fbddc106106975341e6a81e19dbd23adf6a (patch) | |
tree | 3e30f8c0071c436944e038c1e822af62bfacc8e7 /src | |
parent | 75bae064f51a6b0640767d5c583cfd4b1e738bae (diff) | |
download | packages_apps_ThemeChooser-a74e3fbddc106106975341e6a81e19dbd23adf6a.tar.gz packages_apps_ThemeChooser-a74e3fbddc106106975341e6a81e19dbd23adf6a.tar.bz2 packages_apps_ThemeChooser-a74e3fbddc106106975341e6a81e19dbd23adf6a.zip |
Avoid IAE when adding an already added client
This is a weird state and although I don't know how it can happen,
there have been logs showing this happening so we can at least do
our best to avoid the exception by catching it and carrying on since
the exception means our client has already been added.
Change-Id: Ibf3e9b798d0193d5701e508821bad09fca822a45
TICKET: CYNGNOS-2853
Diffstat (limited to 'src')
-rw-r--r-- | src/com/cyngn/theme/chooser/ThemeFragment.java | 6 | ||||
-rw-r--r-- | src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/com/cyngn/theme/chooser/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index 085b23a..9ae1cdf 100644 --- a/src/com/cyngn/theme/chooser/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -2208,7 +2208,11 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb = fillMissingComponentsWithDefault(componentsToApply); ThemeManager tm = getThemeManager(); if (tm != null) { - tm.addClient(ThemeFragment.this); + try { + tm.addClient(ThemeFragment.this); + } catch (IllegalArgumentException e) { + /* ignore since this means we already have a listener added */ + } tm.requestThemeChange(getThemeChangeRequestForComponents(fullMap), true); } diff --git a/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java b/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java index 64245d0..4b6857b 100644 --- a/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java +++ b/src/com/cyngn/theme/perapptheming/PerAppThemingWindow.java @@ -775,7 +775,11 @@ public class PerAppThemingWindow extends Service implements OnTouchListener, ThemeManager tm = ThemeManager.getInstance(getContext()); ThemeChangeRequest.Builder builder = new ThemeChangeRequest.Builder(); builder.setAppOverlay(appPkgName, themePkgName); - tm.addClient(PerAppThemingWindow.this); + try { + tm.addClient(PerAppThemingWindow.this); + } catch (IllegalArgumentException e) { + /* ignore since this means we already have a listener added */ + } tm.requestThemeChange(builder.build(), false); } }); |