Added UpdateScreenFlow activity, test code

pull/14/head
Sam Bosley 12 years ago
parent 49ea545f58
commit 0f02eae5bc

@ -167,6 +167,9 @@
<activity android:name="com.todoroo.astrid.activity.ShareActivity"/>
<activity android:name="com.todoroo.astrid.service.UpdateScreenFlow"
android:screenOrientation="portrait"/>
<!-- Start of Crittercism.com Code -->
<activity android:name="com.crittercism.NewFeedbackSpringboardActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"></activity>
<activity android:name="com.crittercism.NewFeedbackIssueListActivity" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"></activity>

@ -37,7 +37,9 @@ import com.todoroo.andlib.service.RestClient;
import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.actfm.ActFmLoginActivity;
import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.activity.EditPreferences;
import com.todoroo.astrid.dao.StoreObjectDao;
import com.todoroo.astrid.dao.StoreObjectDao.StoreObjectCriteria;
import com.todoroo.astrid.data.StoreObject;
@ -74,11 +76,22 @@ public class UpdateMessageService {
}
public void processUpdates() {
if(shouldSkipUpdates())
return;
JSONArray updates = checkForUpdates();
System.err.println("UPDATES: " + updates);
try {
JSONObject test = new JSONObject();
test.put("date", "09/26/12");
test.put("message", "Screens!");
test.put("type", "screen");
JSONArray screenArray = new JSONArray();
screenArray.put(ActFmLoginActivity.class.getName());
screenArray.put(EditPreferences.class.getName());
test.put("screens", screenArray);
updates.put(test);
} catch (JSONException e) {
e.printStackTrace();
}
if(updates == null || updates.length() == 0)
return;
@ -90,10 +103,6 @@ public class UpdateMessageService {
displayUpdateDialog(message);
}
protected boolean shouldSkipUpdates() {
return !(activity instanceof Activity);
}
private static interface DialogShower {
void showDialog(Activity activity);
}
@ -161,7 +170,6 @@ public class UpdateMessageService {
continue;
}
String date = update.optString("date", null);
String message = update.optString("message", null);
String plugin = update.optString("plugin", null);

@ -0,0 +1,55 @@
package com.todoroo.astrid.service;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class UpdateScreenFlow extends Activity {
public static final String TOKEN_SCREENS = "token_screens"; //$NON-NLS-1$
private static final int REQUEST_CODE_SCREEN_FLOW = 5;
private ArrayList<String> screens;
private int currIndex;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
screens = getIntent().getStringArrayListExtra(TOKEN_SCREENS);
currIndex = 0;
if (screens.size() == 0)
finish();
startActivityFromString(screens.get(0));
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_SCREEN_FLOW && resultCode == RESULT_OK) {
currIndex++;
if (currIndex < screens.size()) {
String next = screens.get(currIndex);
startActivityFromString(next);
} else {
finish();
}
} else {
finish();
}
}
private void startActivityFromString(String className) {
try {
Class<?> activityClass = Class.forName(className);
Intent intent = new Intent(this, activityClass);
startActivityForResult(intent, REQUEST_CODE_SCREEN_FLOW);
} catch (ClassNotFoundException e) {
e.printStackTrace();
finish();
}
}
}
Loading…
Cancel
Save