mirror of https://github.com/tasks/tasks
Renamed fragments to end with Fragment, renamed *WrapperActivity to Activity. Save our sanity by not calling things by other names.
parent
28d910a9e8
commit
e70d7e4cca
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,62 +0,0 @@
|
||||
package com.todoroo.astrid.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActionBar;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.KeyEvent;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.timsu.astrid.R;
|
||||
import com.todoroo.andlib.utility.AndroidUtilities;
|
||||
import com.todoroo.astrid.service.ThemeService;
|
||||
|
||||
public class TaskEditWrapperActivity extends AstridWrapperActivity {
|
||||
/**
|
||||
* @see android.app.Activity#onCreate(Bundle)
|
||||
*/
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
ThemeService.applyTheme(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.task_edit_wrapper_activity);
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
actionBar.setDisplayShowHomeEnabled(false);
|
||||
actionBar.setDisplayShowTitleEnabled(false);
|
||||
|
||||
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
||||
actionBar.setCustomView(R.layout.header_title_view);
|
||||
((TextView) actionBar.getCustomView().findViewById(R.id.title)).setText(R.string.TAd_contextEditTask);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see android.support.v4.app.FragmentActivity#onResume()
|
||||
*/
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
Fragment frag = (Fragment) getSupportFragmentManager()
|
||||
.findFragmentByTag(TaskListActivity.TAG_TASKLIST_FRAGMENT);
|
||||
if (frag != null) {
|
||||
fragmentLayout = LAYOUT_DOUBLE;
|
||||
} else {
|
||||
fragmentLayout = LAYOUT_SINGLE;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
TaskEditActivity frag = (TaskEditActivity) getSupportFragmentManager()
|
||||
.findFragmentByTag(TaskEditActivity.TAG_TASKEDIT_FRAGMENT);
|
||||
if (frag != null && frag.isInLayout())
|
||||
return frag.onKeyDown(keyCode);
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
super.finish();
|
||||
AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_right_in, R.anim.slide_right_out);
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,319 +0,0 @@
|
||||
package com.todoroo.astrid.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.ActionBar;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.TypedValue;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.View.OnTouchListener;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.PopupWindow.OnDismissListener;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.timsu.astrid.R;
|
||||
import com.todoroo.andlib.utility.AndroidUtilities;
|
||||
import com.todoroo.astrid.actfm.ActFmLoginActivity;
|
||||
import com.todoroo.astrid.actfm.TagSettingsActivity;
|
||||
import com.todoroo.astrid.api.Filter;
|
||||
import com.todoroo.astrid.api.FilterListItem;
|
||||
import com.todoroo.astrid.service.ThemeService;
|
||||
import com.todoroo.astrid.ui.FragmentPopover;
|
||||
import com.todoroo.astrid.ui.MainMenuPopover;
|
||||
import com.todoroo.astrid.ui.MainMenuPopover.MainMenuListener;
|
||||
import com.todoroo.astrid.utility.Flags;
|
||||
import com.todoroo.astrid.welcome.tutorial.WelcomeWalkthrough;
|
||||
|
||||
public class TaskListWrapperActivity extends AstridWrapperActivity implements MainMenuListener {
|
||||
|
||||
public static final String TOKEN_SELECTED_FILTER = "selectedFilter";
|
||||
private View listsNav;
|
||||
private ImageView listsNavDisclosure;
|
||||
private TextView lists;
|
||||
private ImageView mainMenu;
|
||||
|
||||
private FragmentPopover listsPopover;
|
||||
private FragmentPopover editPopover;
|
||||
private MainMenuPopover mainMenuPopover;
|
||||
|
||||
private final OnClickListener mainMenuClickListener = new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mainMenu.setSelected(true);
|
||||
mainMenuPopover.show(v);
|
||||
}
|
||||
};
|
||||
|
||||
private final OnClickListener popupMenuClickListener = new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
setListsDropdownSelected(true);
|
||||
listsPopover.show(v);
|
||||
}
|
||||
};
|
||||
|
||||
private final OnDismissListener editPopoverDismissListener = new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss() {
|
||||
TaskEditActivity tea = getTaskEditFragment();
|
||||
if (tea != null) {
|
||||
try {
|
||||
if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT))
|
||||
tea.save(false);
|
||||
} catch (IllegalStateException e) {
|
||||
// Save during pause, ignore it
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @see android.app.Activity#onCreate(Bundle)
|
||||
*/
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
ThemeService.applyTheme(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.task_list_wrapper_activity);
|
||||
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
|
||||
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
||||
actionBar.setCustomView(R.layout.header_nav_views);
|
||||
|
||||
listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav);
|
||||
listsNavDisclosure = (ImageView) actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow);
|
||||
lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title);
|
||||
mainMenu = (ImageView) actionBar.getCustomView().findViewById(R.id.main_menu);
|
||||
|
||||
initializeFragments(actionBar);
|
||||
createMainMenuPopover();
|
||||
mainMenu.setOnClickListener(mainMenuClickListener);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param actionBar
|
||||
*/
|
||||
protected void initializeFragments(ActionBar actionBar) {
|
||||
View filterFragment = findViewById(R.id.filterlist_fragment_container);
|
||||
View editFragment = findViewById(R.id.taskedit_fragment_container);
|
||||
|
||||
if (filterFragment != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(false);
|
||||
actionBar.getCustomView().findViewById(R.id.list_disclosure_arrow).setVisibility(View.GONE);
|
||||
listsNav.setOnClickListener(null);
|
||||
|
||||
if(editFragment != null && editFragment.getVisibility() == View.INVISIBLE) {
|
||||
fragmentLayout = LAYOUT_TRIPLE;
|
||||
} else {
|
||||
fragmentLayout = LAYOUT_DOUBLE;
|
||||
createEditPopover();
|
||||
}
|
||||
|
||||
setupFragment(FilterListActivity.TAG_FILTERLIST_FRAGMENT,
|
||||
R.id.filterlist_fragment_container, FilterListActivity.class);
|
||||
} else {
|
||||
fragmentLayout = LAYOUT_SINGLE;
|
||||
actionBar.setDisplayHomeAsUpEnabled(true);
|
||||
listsNav.setOnClickListener(popupMenuClickListener);
|
||||
createListsPopover();
|
||||
setupPopoverWithFilterList((FilterListActivity) setupFragment(FilterListActivity.TAG_FILTERLIST_FRAGMENT, 0, FilterListActivity.class));
|
||||
}
|
||||
}
|
||||
|
||||
private void createListsPopover() {
|
||||
listsPopover = new FragmentPopover(this, R.layout.list_dropdown_popover);
|
||||
listsPopover.setOnDismissListener(new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss() {
|
||||
setListsDropdownSelected(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createEditPopover() {
|
||||
editPopover = new FragmentPopover(this, R.layout.taskedit_popover);
|
||||
editPopover.setOnDismissListener(editPopoverDismissListener);
|
||||
editPopover.setTouchInterceptor(new OnTouchListener() {
|
||||
@Override
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
int x = (int) event.getX();
|
||||
int y = (int) event.getY();
|
||||
if ((event.getAction() == MotionEvent.ACTION_DOWN)
|
||||
&& ((x < 0) || (x >= editPopover.getContentView().getWidth()) || (y < 0) || (y >= editPopover.getContentView().getHeight()))) return true;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createMainMenuPopover() {
|
||||
mainMenuPopover = new MainMenuPopover(this, R.layout.main_menu_popover);
|
||||
mainMenuPopover.setMenuListener(this);
|
||||
mainMenuPopover.setOnDismissListener(new OnDismissListener() {
|
||||
@Override
|
||||
public void onDismiss() {
|
||||
mainMenu.setSelected(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setupPopoverWithFragment(FragmentPopover popover, Fragment frag, LayoutParams params) {
|
||||
if (popover != null) {
|
||||
View view = frag.getView();
|
||||
if (view != null) {
|
||||
FrameLayout parent = (FrameLayout) view.getParent();
|
||||
if (parent != null)
|
||||
parent.removeView(view);
|
||||
if (params == null)
|
||||
popover.setContent(view);
|
||||
else
|
||||
popover.setContent(view, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setupPopoverWithFilterList(FilterListActivity fla) {
|
||||
setupPopoverWithFragment(listsPopover, fla, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTaskListItemClicked(long taskId) {
|
||||
super.onTaskListItemClicked(taskId);
|
||||
if (fragmentLayout == LAYOUT_DOUBLE && getTaskEditFragment() != null) {
|
||||
DisplayMetrics metrics = getResources().getDisplayMetrics();
|
||||
setupPopoverWithFragment(editPopover, getTaskEditFragment(), new LayoutParams((int) (400 * metrics.density), (int) (600 * metrics.density)));
|
||||
editPopover.show(listsNav);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onFilterItemClicked(FilterListItem item) {
|
||||
if (listsPopover != null)
|
||||
listsPopover.dismiss();
|
||||
return super.onFilterItemClicked(item);
|
||||
}
|
||||
|
||||
private void setListsDropdownSelected(boolean selected) {
|
||||
int oldTextColor = lists.getTextColors().getDefaultColor();
|
||||
int textStyle = (selected ? R.style.TextAppearance_ActionBar_ListsHeader_Selected : R.style.TextAppearance_ActionBar_ListsHeader);
|
||||
|
||||
TypedValue listDisclosure = new TypedValue();
|
||||
getTheme().resolveAttribute(R.attr.asListsDisclosure, listDisclosure, false);
|
||||
lists.setTextAppearance(this, textStyle);
|
||||
listsNav.setBackgroundColor(selected ? oldTextColor : android.R.color.transparent);
|
||||
listsNavDisclosure.setSelected(selected);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostResume() {
|
||||
super.onPostResume();
|
||||
|
||||
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
|
||||
if (!Flags.checkAndClear(Flags.TLA_RESUMED_FROM_VOICE_ADD))
|
||||
setupTasklistFragmentWithFilter(savedFilter);
|
||||
if (savedFilter != null)
|
||||
lists.setText(savedFilter.title);
|
||||
|
||||
if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT)) {
|
||||
TaskEditActivity tea = getTaskEditFragment();
|
||||
if (tea != null)
|
||||
onBackPressed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
if (listsPopover != null)
|
||||
listsPopover.dismiss();
|
||||
if (editPopover != null)
|
||||
editPopover.dismiss();
|
||||
if (mainMenuPopover != null)
|
||||
mainMenuPopover.dismiss();
|
||||
}
|
||||
|
||||
public void setSelectedItem(Filter item) {
|
||||
lists.setText(item.title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
// manage task edit visibility
|
||||
View taskeditFragmentContainer = findViewById(R.id.taskedit_fragment_container);
|
||||
if(taskeditFragmentContainer != null && taskeditFragmentContainer.getVisibility() == View.VISIBLE) {
|
||||
if(fragmentLayout == LAYOUT_DOUBLE) {
|
||||
findViewById(R.id.taskedit_fragment_container).setVisibility(View.GONE);
|
||||
findViewById(R.id.filterlist_fragment_container).setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
findViewById(R.id.taskedit_fragment_container).setVisibility(View.INVISIBLE);
|
||||
}
|
||||
Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT);
|
||||
onPostResume();
|
||||
} else {
|
||||
if (editPopover != null && editPopover.isShowing()) {
|
||||
Flags.set(Flags.TLA_DISMISSED_FROM_TASK_EDIT);
|
||||
editPopover.dismiss();
|
||||
}
|
||||
}
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void finish() {
|
||||
super.finish();
|
||||
AndroidUtilities.callOverridePendingTransition(this, R.anim.slide_right_in, R.anim.slide_right_out);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
if ((requestCode == FilterListActivity.REQUEST_NEW_LIST || requestCode == FilterListActivity.REQUEST_NEW_FILTER) && resultCode == Activity.RESULT_OK) {
|
||||
Filter newList = data.getParcelableExtra(TagSettingsActivity.TOKEN_NEW_FILTER);
|
||||
if (newList != null) {
|
||||
getIntent().putExtra(TaskListActivity.TOKEN_FILTER, newList);
|
||||
FilterListActivity fla = getFilterListFragment();
|
||||
if (fla != null)
|
||||
fla.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mainMenuItemSelected(int item) {
|
||||
TaskListActivity tla = getTaskListFragment();
|
||||
switch (item) {
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_TASKS:
|
||||
// Do nothing
|
||||
break;
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_FRIENDS:
|
||||
// Doesn't exist yet
|
||||
break;
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_SUGGESTIONS:
|
||||
// Doesn't exist yet
|
||||
break;
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_TUTORIAL:
|
||||
Intent showWelcomeLogin = new Intent(this, WelcomeWalkthrough.class);
|
||||
showWelcomeLogin.putExtra(ActFmLoginActivity.SHOW_TOAST, false);
|
||||
showWelcomeLogin.putExtra(WelcomeWalkthrough.TOKEN_MANUAL_SHOW, true);
|
||||
startActivity(showWelcomeLogin);
|
||||
break;
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_SETTINGS:
|
||||
if (tla != null)
|
||||
tla.showSettings();
|
||||
break;
|
||||
case MainMenuPopover.MAIN_MENU_ITEM_SUPPORT:
|
||||
if (tla != null)
|
||||
tla.showSupport();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
package com.todoroo.astrid.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.TextView;
|
||||
|
||||
public final class TestFragment extends Fragment {
|
||||
private static final String KEY_CONTENT = "TestFragment:Content";
|
||||
|
||||
public static TestFragment newInstance(String content) {
|
||||
TestFragment fragment = new TestFragment();
|
||||
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (int i = 0; i < 20; i++) {
|
||||
builder.append(content).append(" ");
|
||||
}
|
||||
builder.deleteCharAt(builder.length() - 1);
|
||||
fragment.mContent = builder.toString();
|
||||
|
||||
return fragment;
|
||||
}
|
||||
|
||||
private String mContent = "???";
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
if ((savedInstanceState != null) && savedInstanceState.containsKey(KEY_CONTENT)) {
|
||||
mContent = savedInstanceState.getString(KEY_CONTENT);
|
||||
}
|
||||
|
||||
TextView text = new TextView(getActivity());
|
||||
text.setGravity(Gravity.CENTER);
|
||||
text.setText(mContent);
|
||||
text.setTextSize(20 * getResources().getDisplayMetrics().density);
|
||||
text.setPadding(20, 20, 20, 20);
|
||||
|
||||
LinearLayout layout = new LinearLayout(getActivity());
|
||||
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
|
||||
layout.setGravity(Gravity.CENTER);
|
||||
layout.addView(text);
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
outState.putString(KEY_CONTENT, mContent);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue