|
|
|
@ -1,13 +1,14 @@
|
|
|
|
|
package com.todoroo.astrid.activity;
|
|
|
|
|
|
|
|
|
|
import android.graphics.Color;
|
|
|
|
|
import android.os.Bundle;
|
|
|
|
|
import android.support.v4.app.ActionBar;
|
|
|
|
|
import android.support.v4.app.Fragment;
|
|
|
|
|
import android.view.View;
|
|
|
|
|
import android.view.View.OnClickListener;
|
|
|
|
|
import android.widget.AdapterView;
|
|
|
|
|
import android.widget.AdapterView.OnItemClickListener;
|
|
|
|
|
import android.widget.ArrayAdapter;
|
|
|
|
|
import android.widget.PopupWindow.OnDismissListener;
|
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
|
|
import com.timsu.astrid.R;
|
|
|
|
@ -20,6 +21,7 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
|
|
|
|
|
|
|
|
|
|
public static final String TOKEN_SELECTED_FILTER = "selectedFilter";
|
|
|
|
|
private int currSelection;
|
|
|
|
|
private View listsNav;
|
|
|
|
|
private TextView lists;
|
|
|
|
|
|
|
|
|
|
private ArrayAdapter<Filter> listDropdownAdapter;
|
|
|
|
@ -35,6 +37,14 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
|
|
|
|
|
lists.setText(item.title);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
private final OnClickListener popupMenuClickListener = new OnClickListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
listsNav.setBackgroundColor(Color.RED);
|
|
|
|
|
popover.show(v);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
/**
|
|
|
|
|
* @see android.app.Activity#onCreate(Bundle)
|
|
|
|
|
*/
|
|
|
|
@ -44,29 +54,38 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
|
|
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
setContentView(R.layout.task_list_wrapper_activity);
|
|
|
|
|
|
|
|
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
|
|
|
|
|
|
|
|
|
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
|
|
|
|
|
setupTasklistFragmentWithFilter(savedFilter);
|
|
|
|
|
setupFilterlistFragment();
|
|
|
|
|
|
|
|
|
|
ActionBar actionBar = getSupportActionBar();
|
|
|
|
|
actionBar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
|
|
|
|
|
|
|
|
|
|
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
|
|
|
|
|
actionBar.setCustomView(R.layout.header_nav_views);
|
|
|
|
|
|
|
|
|
|
popover = new ListDropdownPopover(TaskListWrapperActivity.this, R.layout.list_dropdown_popover);
|
|
|
|
|
|
|
|
|
|
lists = (TextView) actionBar.getCustomView().findViewById(R.id.lists_nav);
|
|
|
|
|
lists.setOnClickListener(new OnClickListener() {
|
|
|
|
|
popover.setOnDismissListener(new OnDismissListener() {
|
|
|
|
|
@Override
|
|
|
|
|
public void onClick(View v) {
|
|
|
|
|
popover.show(v);
|
|
|
|
|
public void onDismiss() {
|
|
|
|
|
listsNav.setBackgroundColor(Color.TRANSPARENT);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
listsNav = actionBar.getCustomView().findViewById(R.id.lists_nav);
|
|
|
|
|
lists = (TextView) actionBar.getCustomView().findViewById(R.id.list_title);
|
|
|
|
|
currSelection = 0;
|
|
|
|
|
|
|
|
|
|
View container = findViewById(R.id.filterlist_fragment_container);
|
|
|
|
|
if (container != null) {
|
|
|
|
|
mMultipleFragments = true;
|
|
|
|
|
actionBar.setDisplayHomeAsUpEnabled(false);
|
|
|
|
|
listsNav.setOnClickListener(null);
|
|
|
|
|
} else {
|
|
|
|
|
mMultipleFragments = false;
|
|
|
|
|
actionBar.setDisplayHomeAsUpEnabled(true);
|
|
|
|
|
listsNav.setOnClickListener(popupMenuClickListener);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Filter savedFilter = getIntent().getParcelableExtra(TaskListActivity.TOKEN_FILTER);
|
|
|
|
|
setupTasklistFragmentWithFilter(savedFilter);
|
|
|
|
|
setupFilterlistFragment();
|
|
|
|
|
|
|
|
|
|
if (savedInstanceState != null) {
|
|
|
|
|
currSelection = savedInstanceState.getInt(TOKEN_SELECTED_FILTER);
|
|
|
|
|
}
|
|
|
|
@ -79,15 +98,6 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
|
|
|
|
|
@Override
|
|
|
|
|
protected void onResume() {
|
|
|
|
|
super.onResume();
|
|
|
|
|
|
|
|
|
|
Fragment frag = getFilterListFragment();
|
|
|
|
|
if (frag != null) {
|
|
|
|
|
mMultipleFragments = true;
|
|
|
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
|
|
|
|
|
} else {
|
|
|
|
|
mMultipleFragments = false;
|
|
|
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void updateDropdownNav(ArrayAdapter<Filter> arrayAdapter) {
|
|
|
|
@ -98,6 +108,12 @@ public class TaskListWrapperActivity extends AstridWrapperActivity {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onPause() {
|
|
|
|
|
super.onPause();
|
|
|
|
|
popover.dismiss();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onSaveInstanceState(Bundle icicle) {
|
|
|
|
|
icicle.putInt(TOKEN_SELECTED_FILTER, currSelection);
|
|
|
|
|