Theming and UI changes

pull/14/head
Andrew Shaw 13 years ago
parent ab8bfbeda6
commit 599e7b7561

@ -204,8 +204,7 @@ public final class TagData extends RemoteModel {
} }
public String getPictureHash() { public String getPictureHash() {
String s = getValue(TagData.NAME) + "" + getValue(TagData.CREATION_DATE); return getId() + "" + getValue(TagData.CREATION_DATE);
return s;
} }
} }

@ -23,6 +23,7 @@ import android.util.Log;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@ -33,6 +34,7 @@ import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
import com.todoroo.andlib.service.ExceptionService; import com.todoroo.andlib.service.ExceptionService;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback; import com.todoroo.astrid.actfm.ActFmCameraModule.CameraResultCallback;
@ -40,7 +42,9 @@ import com.todoroo.astrid.actfm.sync.ActFmPreferenceService;
import com.todoroo.astrid.actfm.sync.ActFmSyncService; import com.todoroo.astrid.actfm.sync.ActFmSyncService;
import com.todoroo.astrid.activity.FilterListFragment; import com.todoroo.astrid.activity.FilterListFragment;
import com.todoroo.astrid.activity.ShortcutActivity; import com.todoroo.astrid.activity.ShortcutActivity;
import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.core.PluginServices;
import com.todoroo.astrid.data.TagData; import com.todoroo.astrid.data.TagData;
import com.todoroo.astrid.helper.ImageDiskCache; import com.todoroo.astrid.helper.ImageDiskCache;
import com.todoroo.astrid.service.StatisticsConstants; import com.todoroo.astrid.service.StatisticsConstants;
@ -172,6 +176,20 @@ public class TagSettingsActivity extends FragmentActivity {
isSilent = (ToggleButton) findViewById(R.id.tag_silenced); isSilent = (ToggleButton) findViewById(R.id.tag_silenced);
isSilent.setChecked(tagData.getFlag(TagData.FLAGS, TagData.FLAG_SILENT)); isSilent.setChecked(tagData.getFlag(TagData.FLAGS, TagData.FLAG_SILENT));
Button leaveListButton = (Button) findViewById(R.id.leave_list);
leaveListButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDeleteDialog(tagData);
}
});
if (isNewTag) {
leaveListButton.setVisibility(View.GONE);
}
else if (tagData.getValue(TagData.MEMBER_COUNT) > 0) {
leaveListButton.setText(getString(R.string.tag_leave_button));
}
if(actFmPreferenceService.isLoggedIn()) { if(actFmPreferenceService.isLoggedIn()) {
findViewById(R.id.tag_silenced_container).setVisibility(View.VISIBLE); findViewById(R.id.tag_silenced_container).setVisibility(View.VISIBLE);
} }
@ -370,13 +388,13 @@ public class TagSettingsActivity extends FragmentActivity {
if (isNewTag) { if (isNewTag) {
titleView.setText(getString(R.string.tag_new_list)); titleView.setText(getString(R.string.tag_new_list));
} else { } else {
titleView.setText(getString(R.string.tag_settings_title, tagData.getValue(TagData.NAME))); titleView.setText(getString(R.string.tag_settings_title));
} }
} else { } else {
if (isNewTag) { if (isNewTag) {
setTitle(getString(R.string.tag_new_list)); setTitle(getString(R.string.tag_new_list));
} else { } else {
setTitle(getString(R.string.tag_settings_title, tagData.getValue(TagData.NAME))); setTitle(getString(R.string.tag_settings_title));
} }
} }
String tagImage = tagData.getValue(TagData.PICTURE); String tagImage = tagData.getValue(TagData.PICTURE);
@ -492,6 +510,40 @@ public class TagSettingsActivity extends FragmentActivity {
protected void showDeleteDialog(TagData tagData) {
int string;
if (tagData != null && tagData.getValue(TagData.MEMBER_COUNT) > 0)
string = R.string.DLG_leave_this_shared_tag_question;
else
string = R.string.DLG_delete_this_tag_question;
DialogUtilities.okCancelDialog(this, getString(string, tagData.getValue(TagData.NAME)), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
deleteTag();
}
}, null );
}
protected boolean deleteTag() {
tagDataService.delete(tagData.getId());
boolean shared = false;
if(tagData != null) {
tagData.setValue(TagData.DELETION_DATE, DateUtilities.now());
PluginServices.getTagDataService().save(tagData);
shared = tagData.getValue(TagData.MEMBER_COUNT) > 0 && tagData.getValue(TagData.USER_ID) != 0; // Was I a list member and NOT owner?
}
Intent tagDeleted = new Intent(AstridApiConstants.BROADCAST_EVENT_TAG_DELETED);
tagDeleted.putExtra(TagViewFragment.EXTRA_TAG_NAME, tagData.getValue(TagData.NAME));
tagDeleted.putExtra(TagFilterExposer.TAG_SQL, TagFilterExposer.SHOW_ACTIVE_TASKS);
this.finish();
sendBroadcast(tagDeleted);
return true;
}

@ -59,6 +59,7 @@ public class TagFilterExposer extends BroadcastReceiver implements AstridFilterE
private static final String TAG = "tag"; //$NON-NLS-1$ private static final String TAG = "tag"; //$NON-NLS-1$
public static final String TAG_SQL = "tagSql"; //$NON-NLS-1$ public static final String TAG_SQL = "tagSql"; //$NON-NLS-1$
public static final String SHOW_ACTIVE_TASKS = "show_main_task_view"; //$NON-NLS-1$
@Autowired TagDataService tagDataService; @Autowired TagDataService tagDataService;
@Autowired GtasksPreferenceService gtasksPreferenceService; @Autowired GtasksPreferenceService gtasksPreferenceService;

@ -138,6 +138,18 @@ public final class TagService {
Field.field("mtags." + TAG.name).eqCaseInsensitive(tag)))).where(criterion); Field.field("mtags." + TAG.name).eqCaseInsensitive(tag)))).where(criterion);
} }
/**
* Return SQL selector query for getting tasks with a given tagData
*
* @param tagData
* @return
*/
public static QueryTemplate queryTemplate(Criterion criterion, TagData tagData) {
return new QueryTemplate().join(Join.inner(Metadata.TABLE,
Task.ID.eq(Metadata.TASK))).where(tagEqIgnoreCase(tagData.getValue(TagData.NAME), criterion));
}
} }
public static Criterion memberOfTagData(long tagDataRemoteId) { public static Criterion memberOfTagData(long tagDataRemoteId) {

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

@ -1,200 +1,202 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- settings tab --> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid" xmlns:astrid="http://schemas.android.com/apk/res/com.timsu.astrid"
android:id="@+id/settings" android:id="@+id/settings"
style="@style/Content" style="@style/Content_EditScroll"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" > android:layout_weight="100" >
<ScrollView <LinearLayout
style="@style/Content_EditScroll"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="100" > android:orientation="vertical"
android:padding="5dip"
android:paddingTop="0dip" >
<LinearLayout <LinearLayout
android:id="@+id/save_and_cancel"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:gravity="right"
android:padding="5dip" android:orientation="horizontal"
android:paddingTop="0dip" > android:visibility="gone" >
<LinearLayout <ImageButton
android:id="@+id/save_and_cancel" android:id="@+id/cancel"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="right" android:layout_marginRight="10dip"
android:orientation="horizontal" android:background="@android:color/transparent"
android:visibility="gone" > android:src="@android:drawable/ic_menu_close_clear_cancel" />
<ImageButton <ImageButton
android:id="@+id/cancel" android:id="@+id/save"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:background="@android:color/transparent"
android:src="@android:drawable/ic_menu_close_clear_cancel" />
<ImageButton
android:id="@+id/save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:background="@android:color/transparent"
android:src="@android:drawable/ic_menu_save" />
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="10dip" > android:layout_marginRight="10dip"
android:background="@android:color/transparent"
<!-- picture --> android:src="@android:drawable/ic_menu_save" />
</LinearLayout>
<greendroid.widget.AsyncImageView
android:id="@+id/picture"
android:layout_width="80dip"
android:layout_height="80dip"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
astrid:defaultSrc="@android:drawable/ic_menu_gallery"
android:paddingRight="10dip"
android:scaleType="centerInside" />
<TextView <RelativeLayout
android:id="@+id/tag_label" android:layout_width="fill_parent"
style="@style/TextAppearance" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:paddingBottom="5dip"
android:layout_height="wrap_content" android:paddingTop="5dip" >
android:layout_alignParentTop="true"
android:layout_marginTop="2dip" <!-- picture -->
android:layout_toRightOf="@id/picture"
android:text="@string/actfm_TVA_tag_label" /> <greendroid.widget.AsyncImageView
android:id="@+id/picture"
<EditText android:layout_width="80dip"
android:id="@+id/tag_name" android:layout_height="80dip"
style="@style/EditRow" android:layout_alignParentLeft="true"
android:maxLines="1" android:layout_alignParentTop="true"
android:layout_width="fill_parent" astrid:defaultSrc="@android:drawable/ic_menu_gallery"
android:layout_height="wrap_content" android:paddingRight="10dip"
android:layout_below="@id/tag_label" android:scaleType="centerInside" />
android:layout_marginTop="10dip"
android:layout_toRightOf="@id/picture"
android:padding="10dip"
android:paddingBottom="14dip" />
</RelativeLayout>
<TextView <TextView
android:id="@+id/tag_label"
style="@style/TextAppearance" style="@style/TextAppearance"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dip" android:layout_alignParentTop="true"
android:layout_marginTop="10dip" android:layout_marginTop="2dip"
android:paddingBottom="5dip" android:layout_toRightOf="@id/picture"
android:text="@string/actfm_TVA_members_label" /> android:text="@string/actfm_TVA_tag_label" />
<com.todoroo.astrid.ui.PeopleContainer <EditText
android:id="@+id/members_container" android:id="@+id/tag_name"
style="@style/EditRow" style="@style/EditRow"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" /> android:layout_below="@id/tag_label"
<TextView
android:id="@+id/description_label"
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip" android:layout_marginTop="10dip"
android:text="@string/actfm_TVA_tag_description_label" /> android:layout_toRightOf="@id/picture"
android:maxLines="1"
android:padding="10dip"
android:paddingBottom="14dip" />
</RelativeLayout>
<TextView
style="@style/TextAppearance"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:paddingBottom="5dip"
android:text="@string/actfm_TVA_members_label" />
<com.todoroo.astrid.ui.PeopleContainer
android:id="@+id/members_container"
style="@style/EditRow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<TextView
android:id="@+id/description_label"
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:text="@string/actfm_TVA_tag_description_label" />
<EditText
android:id="@+id/tag_description"
style="@style/EditRow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:hint="@string/actfm_TVA_tag_description_hint"
android:padding="8dip"
android:paddingBottom="12dip" />
<!-- Footer -->
<TextView
android:id="@+id/settings_label"
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:layout_marginTop="10dip"
android:text="@string/actfm_TVA_tag_settings_label" />
<EditText <LinearLayout
android:id="@+id/tag_description" style="@style/EditRow"
style="@style/EditRow" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/tag_silenced_container"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="5dip" android:orientation="horizontal" >
android:hint="@string/actfm_TVA_tag_description_hint"
android:padding="8dip"
android:paddingBottom="12dip" />
<!-- Footer --> <TextView
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dip"
android:padding="5dip"
android:text="@string/actfm_TVA_silence_label" />
<TextView <ToggleButton
android:id="@+id/settings_label" android:id="@+id/tag_silenced"
style="@style/TextAppearance" style="@style/TextAppearance"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dip" android:layout_alignParentRight="true"
android:layout_marginTop="10dip" android:paddingRight="5dip" />
android:text="@string/actfm_TVA_tag_settings_label" /> </RelativeLayout>
<LinearLayout <View
style="@style/EditRow" android:id="@+id/divider"
android:layout_width="wrap_content" style="@style/TEA_Separator"
android:layout_width="fill_parent"
android:layout_height="1dip" />
<RelativeLayout
android:id="@+id/create_shortcut_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="5dip" android:orientation="horizontal"
android:orientation="vertical" > android:padding="5dip" >
<RelativeLayout <TextView
android:id="@+id/tag_silenced_container" style="@style/TextAppearance"
android:layout_width="fill_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="10dip"
android:text="@string/actfm_TVA_silence_label" />
<ToggleButton
android:id="@+id/tag_silenced"
style="@style/TextAppearance"
android:layout_width="wrap_content"
android:layout_height="35dip"
android:background="#00000000"
android:layout_alignParentRight="true" />
</RelativeLayout>
<View
android:id="@+id/divider"
style="@style/TEA_Separator"
android:layout_width="fill_parent"
android:layout_height="1dip" />
<RelativeLayout
android:id="@+id/create_shortcut_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_alignParentLeft="true"
android:padding="5dip" > android:layout_marginTop="10dip"
android:text="@string/FLA_shortcut_dialog_title" />
<TextView
style="@style/TextAppearance" <ImageButton
android:layout_width="wrap_content" android:id="@+id/create_shortcut"
android:layout_height="wrap_content" android:layout_width="40dip"
android:layout_alignParentLeft="true" android:layout_height="40dip"
android:layout_marginTop="10dip" android:layout_alignParentRight="true"
android:text="@string/FLA_shortcut_dialog_title" /> android:background="@android:color/transparent"
android:scaleType="fitCenter"
<ImageButton android:src="@drawable/icn_list_shortcut" />
android:id="@+id/create_shortcut" </RelativeLayout>
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_alignParentRight="true"
android:background="@android:color/transparent"
android:scaleType="fitCenter"
android:src="@android:drawable/ic_media_ff" />
</RelativeLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</ScrollView>
</LinearLayout> <Button
android:id="@+id/leave_list"
style="@style/DeleteTag"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:layout_marginTop="10dip"
android:padding="5dip"
android:text="@string/tag_delete_button" />
</LinearLayout>
</ScrollView>

@ -102,9 +102,15 @@
can simply delete the new combined list!</string> can simply delete the new combined list!</string>
<!-- Header for tag settings --> <!-- Header for tag settings -->
<string name="tag_settings_title">Settings: %s</string> <string name="tag_settings_title">List Settings</string>
<!-- Header for tag activity --> <!-- Header for tag activity -->
<string name="tag_updates_title">Activity: %s</string> <string name="tag_updates_title">Activity: %s</string>
<!-- Delete button for tag settings -->
<string name="tag_delete_button">Delete List</string>
<!-- Leave button for tag settings -->
<string name="tag_leave_button">Leave This List</string>
</resources> </resources>

@ -156,6 +156,11 @@
<item name="android:windowTitleStyle">@style/DialogTitle</item> <item name="android:windowTitleStyle">@style/DialogTitle</item>
<item name="android:windowTitleBackgroundStyle">@style/DialogTitle</item> <item name="android:windowTitleBackgroundStyle">@style/DialogTitle</item>
<item name="android:colorBackgroundCacheHint">@null</item> <item name="android:colorBackgroundCacheHint">@null</item>
<item name="asEditBackground">#101010</item>
<item name="asEditRowBackground">@drawable/task_edit_background</item>
<item name="asThemeTextColor">@color/blue_theme_color</item>
</style> </style>
<style name="Theme.Dialog.White"> <style name="Theme.Dialog.White">
@ -171,6 +176,10 @@
<item name="abBackground">@android:color/white</item> <item name="abBackground">@android:color/white</item>
<item name="abDisplayOptions">useLogo|showHome|showTitle</item> <item name="abDisplayOptions">useLogo|showHome|showTitle</item>
<item name="abLogo">@drawable/icon_48</item> <item name="abLogo">@drawable/icon_48</item>
<item name="asEditBackground">#dddddd</item>
<item name="asEditRowBackground">@drawable/task_edit_background_transparent_white</item>
<item name="asThemeTextColor">@color/blue_theme_color</item>
</style> </style>
<!--================================================== General == --> <!--================================================== General == -->
@ -375,6 +384,13 @@
<item name="android:textColor">?attr/asFilterHeaderColor</item> <item name="android:textColor">?attr/asFilterHeaderColor</item>
</style> </style>
<!-- ========================================================= Tag Settings == -->
<style name="DeleteTag" >
<item name="android:textColor">?attr/asTextColor</item>
<item name="android:background">?attr/asThemeTextColor</item>
</style>
<!-- ========================================================= Widget == --> <!-- ========================================================= Widget == -->
<style name="TextAppearance.Widget"> <style name="TextAppearance.Widget">

@ -113,33 +113,33 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
}; };
/** /**
* @see android.app.Activity#onCreate(Bundle) * @see android.app.Activity#onCreate(Bundle)
*/ */
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
ThemeService.applyTheme(this); ThemeService.applyTheme(this);
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (shouldUseThreePane(this)) if (shouldUseThreePane(this))
setContentView(R.layout.task_list_wrapper_activity_3pane); setContentView(R.layout.task_list_wrapper_activity_3pane);
else else
setContentView(R.layout.task_list_wrapper_activity); setContentView(R.layout.task_list_wrapper_activity);
ActionBar actionBar = getSupportActionBar(); ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.header_nav_views); actionBar.setCustomView(R.layout.header_nav_views);
listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav); listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav);
listsNavDisclosure = (ImageView) actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow); listsNavDisclosure = (ImageView) actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow);
lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title); lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title);
mainMenu = (ImageView) actionBar.getCustomView().findViewById(R.id.main_menu); mainMenu = (ImageView) actionBar.getCustomView().findViewById(R.id.main_menu);
commentsButton = (Button) actionBar.getCustomView().findViewById(R.id.comments); commentsButton = (Button) actionBar.getCustomView().findViewById(R.id.comments);
initializeFragments(actionBar); initializeFragments(actionBar);
createMainMenuPopover(); createMainMenuPopover();
mainMenu.setOnClickListener(mainMenuClickListener); mainMenu.setOnClickListener(mainMenuClickListener);
commentsButton.setOnClickListener(commentsButtonClickListener); commentsButton.setOnClickListener(commentsButtonClickListener);
Filter savedFilter = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER); Filter savedFilter = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER);
@ -151,50 +151,50 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
if (savedFilter != null) if (savedFilter != null)
setListsTitle(savedFilter.title); setListsTitle(savedFilter.title);
} }
/** /**
* *
* @param actionBar * @param actionBar
*/ */
protected void initializeFragments(ActionBar actionBar) { protected void initializeFragments(ActionBar actionBar) {
View filterFragment = findViewById(R.id.filterlist_fragment_container); View filterFragment = findViewById(R.id.filterlist_fragment_container);
View editFragment = findViewById(R.id.taskedit_fragment_container); View editFragment = findViewById(R.id.taskedit_fragment_container);
if (filterFragment != null) { if (filterFragment != null) {
actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow).setVisibility(View.GONE); actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow).setVisibility(View.GONE);
listsNav.setOnClickListener(null); listsNav.setOnClickListener(null);
if(editFragment != null && editFragment.getVisibility() == View.INVISIBLE) { if(editFragment != null && editFragment.getVisibility() == View.INVISIBLE) {
fragmentLayout = LAYOUT_TRIPLE; fragmentLayout = LAYOUT_TRIPLE;
actionBar.getCustomView().findViewById(R.id.comments).setVisibility(View.GONE); actionBar.getCustomView().findViewById(R.id.comments).setVisibility(View.GONE);
} else { } else {
fragmentLayout = LAYOUT_DOUBLE; fragmentLayout = LAYOUT_DOUBLE;
createEditPopover(); createEditPopover();
createCommentsPopover(); createCommentsPopover();
} }
setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT,
R.id.filterlist_fragment_container, FilterListFragment.class); R.id.filterlist_fragment_container, FilterListFragment.class);
} else { } else {
fragmentLayout = LAYOUT_SINGLE; fragmentLayout = LAYOUT_SINGLE;
actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true);
listsNav.setOnClickListener(popupMenuClickListener); listsNav.setOnClickListener(popupMenuClickListener);
createListsPopover(); createListsPopover();
setupPopoverWithFilterList((FilterListFragment) setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, 0, FilterListFragment.class)); setupPopoverWithFilterList((FilterListFragment) setupFragment(FilterListFragment.TAG_FILTERLIST_FRAGMENT, 0, FilterListFragment.class));
} }
} }
private void createListsPopover() { private void createListsPopover() {
listsPopover = new FragmentPopover(this, R.layout.list_dropdown_popover); listsPopover = new FragmentPopover(this, R.layout.list_dropdown_popover);
listsPopover.setOnDismissListener(new OnDismissListener() { listsPopover.setOnDismissListener(new OnDismissListener() {
@Override @Override
public void onDismiss() { public void onDismiss() {
setListsDropdownSelected(false); setListsDropdownSelected(false);
} }
}); });
} }
private void createEditPopover() { private void createEditPopover() {
editPopover = new FragmentPopover(this, R.layout.taskedit_popover); editPopover = new FragmentPopover(this, R.layout.taskedit_popover);
@ -250,40 +250,40 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
} }
} }
public void setupPopoverWithFilterList(FilterListFragment fla) { public void setupPopoverWithFilterList(FilterListFragment fla) {
setupPopoverWithFragment(listsPopover, fla, null); setupPopoverWithFragment(listsPopover, fla, null);
} }
@Override @Override
public void onTaskListItemClicked(long taskId) { public void onTaskListItemClicked(long taskId) {
super.onTaskListItemClicked(taskId); super.onTaskListItemClicked(taskId);
if (fragmentLayout == LAYOUT_DOUBLE && getTaskEditFragment() != null) { if (fragmentLayout == LAYOUT_DOUBLE && getTaskEditFragment() != null) {
DisplayMetrics metrics = getResources().getDisplayMetrics(); DisplayMetrics metrics = getResources().getDisplayMetrics();
setupPopoverWithFragment(editPopover, getTaskEditFragment(), new LayoutParams((int) (400 * metrics.density), (int) (600 * metrics.density))); setupPopoverWithFragment(editPopover, getTaskEditFragment(), new LayoutParams((int) (400 * metrics.density), (int) (600 * metrics.density)));
editPopover.show(listsNav); editPopover.show(listsNav);
} }
} }
@Override @Override
public boolean onFilterItemClicked(FilterListItem item) { public boolean onFilterItemClicked(FilterListItem item) {
if (listsPopover != null) if (listsPopover != null)
listsPopover.dismiss(); listsPopover.dismiss();
setCommentsCount(0); setCommentsCount(0);
return super.onFilterItemClicked(item); return super.onFilterItemClicked(item);
} }
private void setListsDropdownSelected(boolean selected) { private void setListsDropdownSelected(boolean selected) {
int oldTextColor = lists.getTextColors().getDefaultColor(); int oldTextColor = lists.getTextColors().getDefaultColor();
int textStyle = (selected ? R.style.TextAppearance_ActionBar_ListsHeader_Selected : int textStyle = (selected ? R.style.TextAppearance_ActionBar_ListsHeader_Selected :
R.style.TextAppearance_ActionBar_ListsHeader); R.style.TextAppearance_ActionBar_ListsHeader);
TypedValue listDisclosure = new TypedValue(); TypedValue listDisclosure = new TypedValue();
getTheme().resolveAttribute(R.attr.asListsDisclosure, listDisclosure, false); getTheme().resolveAttribute(R.attr.asListsDisclosure, listDisclosure, false);
lists.setTextAppearance(this, textStyle); lists.setTextAppearance(this, textStyle);
listsNav.setBackgroundColor(selected ? oldTextColor : android.R.color.transparent); listsNav.setBackgroundColor(selected ? oldTextColor : android.R.color.transparent);
listsNavDisclosure.setSelected(selected); listsNavDisclosure.setSelected(selected);
} }
@Override @Override
protected void onPostResume() { protected void onPostResume() {
@ -330,7 +330,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
} }
public void setSelectedItem(Filter item) { public void setSelectedItem(Filter item) {
lists.setText(item.title); lists.setText(item.title);
} }
public void setCommentsCount(int count) { public void setCommentsCount(int count) {
@ -352,7 +352,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
@Override @Override
public void onBackPressed() { public void onBackPressed() {
// manage task edit visibility // manage task edit visibility
View taskeditFragmentContainer = findViewById(R.id.taskedit_fragment_container); View taskeditFragmentContainer = findViewById(R.id.taskedit_fragment_container);
if(taskeditFragmentContainer != null && taskeditFragmentContainer.getVisibility() == View.VISIBLE) { if(taskeditFragmentContainer != null && taskeditFragmentContainer.getVisibility() == View.VISIBLE) {
if(fragmentLayout == LAYOUT_DOUBLE) { if(fragmentLayout == LAYOUT_DOUBLE) {
@ -488,7 +488,11 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
String deletedTag = intent.getStringExtra(TagViewFragment.EXTRA_TAG_NAME); String deletedTag = intent.getStringExtra(TagViewFragment.EXTRA_TAG_NAME);
String deletedTagSql = intent.getStringExtra(TagFilterExposer.TAG_SQL); String deletedTagSql = intent.getStringExtra(TagFilterExposer.TAG_SQL);
FilterListFragment fl = getFilterListFragment(); FilterListFragment fl = getFilterListFragment();
if (fl != null) { if (deletedTagSql.equals(TagFilterExposer.SHOW_ACTIVE_TASKS)) {
fl.switchToActiveTasks();
fl.clear(); // Should auto refresh
}
else if (fl != null) {
Filter currentlyShowing = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER); Filter currentlyShowing = getIntent().getParcelableExtra(TaskListFragment.TOKEN_FILTER);
if (currentlyShowing != null) { if (currentlyShowing != null) {
boolean titlesMatch = currentlyShowing.title != null && currentlyShowing.title.equals(deletedTag); boolean titlesMatch = currentlyShowing.title != null && currentlyShowing.title.equals(deletedTag);

@ -56,10 +56,10 @@ public class UpdateAdapter extends CursorAdapter {
private static final String UPDATE_FRIENDS = "friends"; //$NON-NLS-1$ private static final String UPDATE_FRIENDS = "friends"; //$NON-NLS-1$
private static final String UPDATE_REQUEST_FRIENDSHIP = "request_friendship"; //$NON-NLS-1$ private static final String UPDATE_REQUEST_FRIENDSHIP = "request_friendship"; //$NON-NLS-1$
private static final String UPDATE_CONFIRMED_FRIENDSHIP = "confirmed_friendship"; //$NON-NLS-1$ private static final String UPDATE_CONFIRMED_FRIENDSHIP = "confirmed_friendship"; //$NON-NLS-1$
private static final String UPDATE_TASK_CREATED = "task_created"; private static final String UPDATE_TASK_CREATED = "task_created"; //$NON-NLS-1$
private static final String UPDATE_TASK_COMPLETED = "task_completed"; private static final String UPDATE_TASK_COMPLETED = "task_completed"; //$NON-NLS-1$
private static final String UPDATE_TASK_UNCOMPLETED = "task_uncompleted"; private static final String UPDATE_TASK_UNCOMPLETED = "task_uncompleted"; //$NON-NLS-1$
private static final String UPDATE_TASK_TAGGED = "task_tagged"; private static final String UPDATE_TASK_TAGGED = "task_tagged"; //$NON-NLS-1$
private static final String UPDATE_TASK_ASSIGNED = "task_assigned"; private static final String UPDATE_TASK_ASSIGNED = "task_assigned";
private static final String UPDATE_TASK_COMMENT = "task_comment"; private static final String UPDATE_TASK_COMMENT = "task_comment";
private static final String UPDATE_TAG_COMMENT = "tag_comment"; private static final String UPDATE_TAG_COMMENT = "tag_comment";
@ -270,7 +270,6 @@ public class UpdateAdapter extends CursorAdapter {
else if (actionCode.equals(UPDATE_TAG_COMMENT)) { else if (actionCode.equals(UPDATE_TAG_COMMENT)) {
if (fromView.equals(FROM_TAG_VIEW)) if (fromView.equals(FROM_TAG_VIEW))
commentResource = R.string.update_string_default_comment; commentResource = R.string.update_string_default_comment;
else else
commentResource = R.string.update_string_tag_comment; commentResource = R.string.update_string_tag_comment;

@ -86,6 +86,12 @@ public class PeopleContainer extends LinearLayout {
final AsyncImageView imageView = (AsyncImageView)tagItem. final AsyncImageView imageView = (AsyncImageView)tagItem.
findViewById(R.id.icon); findViewById(R.id.icon);
imageView.setUrl(image); imageView.setUrl(image);
if (TextUtils.isEmpty(textView.getText())) {
imageView.setDefaultImageResource(R.drawable.icn_default_person_image);
}
else {
imageView.setDefaultImageResource(R.drawable.icn_add_contact);
}
textView.addTextChangedListener(new TextWatcher() { textView.addTextChangedListener(new TextWatcher() {
@Override @Override
@ -102,6 +108,10 @@ public class PeopleContainer extends LinearLayout {
int count) { int count) {
if(count > 0 && getLastTextView() == textView) { if(count > 0 && getLastTextView() == textView) {
addPerson("", ""); //$NON-NLS-1$ addPerson("", ""); //$NON-NLS-1$
imageView.setDefaultImageResource(R.drawable.icn_default_person_image);
}
else {
imageView.setDefaultImageResource(R.drawable.icn_add_contact);
} }
if(onAddNewPerson != null) if(onAddNewPerson != null)

Loading…
Cancel
Save