Save tag silenced seting, preserve members on rotate

pull/14/head
Tim Su 15 years ago
parent 275415702e
commit affa165702

@ -36,6 +36,7 @@ import android.view.View.OnTouchListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ListView; import android.widget.ListView;
@ -94,6 +95,8 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
protected static final int REQUEST_CODE_PICTURE = 2; protected static final int REQUEST_CODE_PICTURE = 2;
protected static final int REQUEST_ACTFM_LOGIN = 3; protected static final int REQUEST_ACTFM_LOGIN = 3;
private static final String MEMBERS_IN_PROGRESS = "members"; //$NON-NLS-1$
private TagData tagData; private TagData tagData;
@Autowired TagDataService tagDataService; @Autowired TagDataService tagDataService;
@ -110,6 +113,7 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
private AsyncImageView picture; private AsyncImageView picture;
private EditText tagName; private EditText tagName;
private View taskListView; private View taskListView;
private CheckBox isSilent;
private TabHost tabHost; private TabHost tabHost;
private TabWidget tabWidget; private TabWidget tabWidget;
@ -139,6 +143,12 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
if(getIntent().hasExtra(EXTRA_START_TAB)) if(getIntent().hasExtra(EXTRA_START_TAB))
tabHost.setCurrentTabByTag(getIntent().getStringExtra(EXTRA_START_TAB)); tabHost.setCurrentTabByTag(getIntent().getStringExtra(EXTRA_START_TAB));
if(savedInstanceState != null && savedInstanceState.containsKey(MEMBERS_IN_PROGRESS)) {
String members = savedInstanceState.getString(MEMBERS_IN_PROGRESS);
if(members != null)
updateMembers(members);
}
} }
@SuppressWarnings("nls") @SuppressWarnings("nls")
@ -231,6 +241,7 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
tagMembers = (PeopleContainer) findViewById(R.id.members_container); tagMembers = (PeopleContainer) findViewById(R.id.members_container);
tagName = (EditText) findViewById(R.id.tag_name); tagName = (EditText) findViewById(R.id.tag_name);
picture = (AsyncImageView) findViewById(R.id.picture); picture = (AsyncImageView) findViewById(R.id.picture);
isSilent = (CheckBox) findViewById(R.id.tag_silenced);
if(actFmPreferenceService.isLoggedIn()) { if(actFmPreferenceService.isLoggedIn()) {
picture.setVisibility(View.VISIBLE); picture.setVisibility(View.VISIBLE);
@ -422,8 +433,13 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
System.err.println(tagData.getValue(TagData.USER)); System.err.println(tagData.getValue(TagData.USER));
} }
tagMembers.removeAllViews();
String peopleJson = tagData.getValue(TagData.MEMBERS); String peopleJson = tagData.getValue(TagData.MEMBERS);
updateMembers(peopleJson);
}
@SuppressWarnings("nls")
private void updateMembers(String peopleJson) {
tagMembers.removeAllViews();
System.err.println("gotta grab ppl - " + peopleJson); System.err.println("gotta grab ppl - " + peopleJson);
Log.e("GAH", "gaga", new Throwable()); Log.e("GAH", "gaga", new Throwable());
if(!TextUtils.isEmpty(peopleJson)) { if(!TextUtils.isEmpty(peopleJson)) {
@ -567,6 +583,16 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
unregisterReceiver(notifyReceiver); unregisterReceiver(notifyReceiver);
} }
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if(tagMembers.getChildCount() > 1) {
JSONArray members = tagMembers.toJSONArray();
outState.putString(MEMBERS_IN_PROGRESS, members.toString());
}
}
// --- events // --- events
private void saveSettings() { private void saveSettings() {
@ -593,6 +619,7 @@ public class TagViewActivity extends TaskListActivity implements OnTabChangeList
tagData.setValue(TagData.MEMBERS, members.toString()); tagData.setValue(TagData.MEMBERS, members.toString());
tagData.setValue(TagData.MEMBER_COUNT, members.length()); tagData.setValue(TagData.MEMBER_COUNT, members.length());
tagData.setFlag(TagData.FLAGS, TagData.FLAG_SILENT, isSilent.isChecked());
if(actFmPreferenceService.isLoggedIn()) if(actFmPreferenceService.isLoggedIn())
Flags.set(Flags.TOAST_ON_SAVE); Flags.set(Flags.TOAST_ON_SAVE);

@ -336,6 +336,12 @@ public final class ActFmSyncService {
} }
} }
if(values.containsKey(TagData.FLAGS.name)) {
params.add("is_silent");
boolean silenced = tagData.getFlag(TagData.FLAGS, TagData.FLAG_SILENT);
params.add(silenced ? "1" : "0");
}
if(params.size() == 0 || !checkForToken()) if(params.size() == 0 || !checkForToken())
return; return;

@ -106,6 +106,8 @@
android:id="@+id/listSettingsMore" android:id="@+id/listSettingsMore"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:orientation="vertical"
android:visibility="gone"> android:visibility="gone">
<View <View
@ -127,6 +129,7 @@
android:textSize="20sp"/> android:textSize="20sp"/>
<CheckBox <CheckBox
android:id="@+id/tag_silenced"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="10dip" android:layout_marginTop="10dip"

Loading…
Cancel
Save