Fix: Use PreferencesActivity resultCodes properly
This fixes useless restarts/reloads, and missing ones too.
This commit is contained in:
		
							parent
							
								
									c0fad0fe26
								
							
						
					
					
						commit
						9f4bfe015c
					
				| @ -85,8 +85,7 @@ public class PreferencesActivity extends PreferenceActivity implements | ||||
|                     pref.getText())); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     protected void updateSummary(String key) { | ||||
|     protected void updateSummary(String key, boolean changing) { | ||||
| 
 | ||||
|         if (key.equals(Preferences.PREF_UPD_INTERVAL)) { | ||||
|             ListPreference pref = (ListPreference)findPreference( | ||||
| @ -122,20 +121,26 @@ public class PreferencesActivity extends PreferenceActivity implements | ||||
| 
 | ||||
|         } else if (key.equals(Preferences.PREF_THEME)) { | ||||
|             entrySummary(key); | ||||
|             result |= RESULT_RESTART; | ||||
|             setResult(result); | ||||
|             if (changing) { | ||||
|                 result |= RESULT_RESTART; | ||||
|                 setResult(result); | ||||
|             } | ||||
| 
 | ||||
|         } else if (key.equals(Preferences.PREF_INCOMP_VER)) { | ||||
|             onoffSummary(key, R.string.show_incompat_versions_on, | ||||
|                 R.string.show_incompat_versions_off); | ||||
|             result ^= RESULT_RELOAD; | ||||
|             setResult(result); | ||||
|             if (changing) { | ||||
|                 result ^= RESULT_RELOAD; | ||||
|                 setResult(result); | ||||
|             } | ||||
| 
 | ||||
|         } else if (key.equals(Preferences.PREF_ROOTED)) { | ||||
|             onoffSummary(key, R.string.rooted_on, | ||||
|                 R.string.rooted_off); | ||||
|             result ^= RESULT_REFILTER; | ||||
|             setResult(result); | ||||
|             if (changing) { | ||||
|                 result ^= RESULT_REFILTER; | ||||
|                 setResult(result); | ||||
|             } | ||||
| 
 | ||||
|         } else if (key.equals(Preferences.PREF_IGN_TOUCH)) { | ||||
|             onoffSummary(key, R.string.ignoreTouch_on, | ||||
| @ -163,7 +168,7 @@ public class PreferencesActivity extends PreferenceActivity implements | ||||
|                             (OnSharedPreferenceChangeListener)this); | ||||
| 
 | ||||
|         for (String key : summariesToUpdate) { | ||||
|             updateSummary(key); | ||||
|             updateSummary(key, false); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -188,7 +193,7 @@ public class PreferencesActivity extends PreferenceActivity implements | ||||
|     public void onSharedPreferenceChanged( | ||||
|             SharedPreferences sharedPreferences, String key) { | ||||
| 
 | ||||
|         updateSummary(key); | ||||
|         updateSummary(key, true); | ||||
|     } | ||||
| 
 | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Daniel Martí
						Daniel Martí