// Dialog identifiers used in showDialog
protected static final int DLG_BASE = 0;
+ protected boolean mFinishing;
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ mFinishing = false;
mState = ApplicationsState.getInstance(getActivity().getApplication());
mSession = mState.newSession(this);
intent.putExtra(ManageApplications.APP_CHG, appChanged);
SettingsActivity sa = (SettingsActivity)getActivity();
sa.finishPreferencePanel(this, Activity.RESULT_OK, intent);
+ mFinishing = true;
}
protected void showDialogInner(int id, int moveErrorCode) {
@Override
public void onResume() {
super.onResume();
+ if (mFinishing) {
+ return;
+ }
AppItem app = new AppItem(mAppEntry.info.uid);
app.addUid(mAppEntry.info.uid);
getLoaderManager().restartLoader(LOADER_CHART_DATA,
ChartDataLoader.buildArgs(getTemplate(getContext()), app),
mDataCallbacks);
- if (mPackageInfo != null) {
- new BatteryUpdater().execute();
- }
+ new BatteryUpdater().execute();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
+ if (mFinishing) {
+ return;
+ }
handleHeader();
mNotificationPreference = findPreference(KEY_NOTIFICATION);