SetupWizard: Add option to apply default theme if one exists

* A bunch of code cleanup/refactoring to make this work

Change-Id: I059fb5fa5bcd7dd8821e993218a320554f10a314
This commit is contained in:
cretin45
2015-02-23 13:52:37 -08:00
parent 1d54e5207a
commit 01f21da16b
23 changed files with 375 additions and 168 deletions

View File

@@ -17,33 +17,30 @@
package com.cyanogenmod.setupwizard.setup;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.os.Bundle;
import com.cyanogenmod.setupwizard.ui.SetupWizardActivity;
import java.util.ArrayList;
public abstract class AbstractSetupData extends BroadcastReceiver implements SetupDataCallbacks {
private static final String TAG = AbstractSetupData.class.getSimpleName();
protected SetupWizardActivity mContext;
protected final Context mContext;
private ArrayList<SetupDataCallbacks> mListeners = new ArrayList<SetupDataCallbacks>();
private PageList mPageList;
private int mCurrentPageIndex = 0;
private boolean mIsResumed = false;
private OnResumeRunnable mOnResumeRunnable;
public AbstractSetupData(SetupWizardActivity context) {
public AbstractSetupData(Context context) {
mContext = context;
mPageList = onNewPageList();
}
public void setContext(SetupWizardActivity context) {
mContext = context;
}
protected abstract PageList onNewPageList();
@Override
@@ -67,6 +64,13 @@ public abstract class AbstractSetupData extends BroadcastReceiver implements Set
}
}
@Override
public void finishSetup() {
for (int i = 0; i < mListeners.size(); i++) {
mListeners.get(i).finishSetup();
}
}
@Override
public Page getPage(String key) {
return mPageList.getPage(key);
@@ -159,7 +163,7 @@ public abstract class AbstractSetupData extends BroadcastReceiver implements Set
}
private void doPreviousNext(Runnable runnable) {
if (mContext.isResumed()) {
if (mIsResumed) {
runnable.run();
} else {
mOnResumeRunnable = new OnResumeRunnable(runnable, this);
@@ -170,7 +174,12 @@ public abstract class AbstractSetupData extends BroadcastReceiver implements Set
mOnResumeRunnable = null;
}
public void onPause() {
mIsResumed = false;
}
public void onResume() {
mIsResumed = true;
if (mOnResumeRunnable != null) {
mOnResumeRunnable.run();
}