summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-02-16 13:20:56 -0800
committerEric Erfanian <erfanian@google.com>2018-02-22 21:07:31 +0000
commit8074af74464a162e01296cc2b0b707f1c9d12bb7 (patch)
tree88c6901b4115ca79472367fb4085a958fa289364 /java/com/android/dialer/main
parentddd30052026e85de5237d4ef4751a4c26c09cb9b (diff)
Fix a few UI issues based around multiselect in new nav.
- No longer crashes when entering mw-mode while in multiselect - Configuration changes now properly restore bottom nav visibility - toolbar shadow is now only visible in search Bug: 72525324 Test: MainActivityOldPeerSearchIntegrationTest PiperOrigin-RevId: 186037379 Change-Id: I5fc00c8091e85fc67482b2131944fb776626d06f
Diffstat (limited to 'java/com/android/dialer/main')
-rw-r--r--java/com/android/dialer/main/impl/MainSearchController.java16
-rw-r--r--java/com/android/dialer/main/impl/OldMainActivityPeer.java19
-rw-r--r--java/com/android/dialer/main/impl/res/layout/main_activity.xml4
3 files changed, 27 insertions, 12 deletions
diff --git a/java/com/android/dialer/main/impl/MainSearchController.java b/java/com/android/dialer/main/impl/MainSearchController.java
index 9b734f40c..8d9e784a7 100644
--- a/java/com/android/dialer/main/impl/MainSearchController.java
+++ b/java/com/android/dialer/main/impl/MainSearchController.java
@@ -68,8 +68,7 @@ import java.util.ArrayList;
public class MainSearchController implements SearchBarListener {
private static final String KEY_IS_FAB_HIDDEN = "is_fab_hidden";
- private static final String KEY_CURRENT_TAB = "current_tab";
- private static final String KEY_BOTTOM_NAV_VISIBILITY = "bottom_nav_visibility";
+ private static final String KEY_TOOLBAR_SHADOW_VISIBILITY = "toolbar_shadow_visibility";
private static final String KEY_IS_TOOLBAR_EXPANDED = "is_toolbar_expanded";
private static final String KEY_IS_TOOLBAR_SLIDE_UP = "is_toolbar_slide_up";
@@ -80,16 +79,19 @@ public class MainSearchController implements SearchBarListener {
private final BottomNavBar bottomNav;
private final FloatingActionButton fab;
private final MainToolbar toolbar;
+ private final View toolbarShadow;
public MainSearchController(
MainActivity mainActivity,
BottomNavBar bottomNav,
FloatingActionButton fab,
- MainToolbar toolbar) {
+ MainToolbar toolbar,
+ View toolbarShadow) {
this.mainActivity = mainActivity;
this.bottomNav = bottomNav;
this.fab = fab;
this.toolbar = toolbar;
+ this.toolbarShadow = toolbarShadow;
}
/** Should be called if we're showing the dialpad because of a new ACTION_DIAL intent. */
@@ -266,6 +268,7 @@ public class MainSearchController implements SearchBarListener {
}
showBottomNav();
toolbar.collapse(animate);
+ toolbarShadow.setVisibility(View.GONE);
mainActivity.getFragmentManager().beginTransaction().remove(getSearchFragment()).commit();
// Clear the dialpad so the phone number isn't persisted between search sessions.
@@ -319,6 +322,7 @@ public class MainSearchController implements SearchBarListener {
fab.hide();
toolbar.expand(/* animate=*/ true, query);
toolbar.showKeyboard();
+ toolbarShadow.setVisibility(View.VISIBLE);
hideBottomNav();
FragmentTransaction transaction = mainActivity.getFragmentManager().beginTransaction();
@@ -396,15 +400,13 @@ public class MainSearchController implements SearchBarListener {
public void onSaveInstanceState(Bundle bundle) {
bundle.putBoolean(KEY_IS_FAB_HIDDEN, !fab.isShown());
- bundle.putInt(KEY_CURRENT_TAB, bottomNav.getSelectedTab());
- bundle.putInt(KEY_BOTTOM_NAV_VISIBILITY, bottomNav.getVisibility());
+ bundle.putInt(KEY_TOOLBAR_SHADOW_VISIBILITY, toolbarShadow.getVisibility());
bundle.putBoolean(KEY_IS_TOOLBAR_EXPANDED, toolbar.isExpanded());
bundle.putBoolean(KEY_IS_TOOLBAR_SLIDE_UP, toolbar.isSlideUp());
}
public void onRestoreInstanceState(Bundle savedInstanceState) {
- bottomNav.selectTab(savedInstanceState.getInt(KEY_CURRENT_TAB));
- bottomNav.setVisibility(savedInstanceState.getInt(KEY_BOTTOM_NAV_VISIBILITY));
+ toolbarShadow.setVisibility(savedInstanceState.getInt(KEY_TOOLBAR_SHADOW_VISIBILITY));
if (savedInstanceState.getBoolean(KEY_IS_FAB_HIDDEN, false)) {
fab.hide();
}
diff --git a/java/com/android/dialer/main/impl/OldMainActivityPeer.java b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
index 07c7185ae..7d9216c3f 100644
--- a/java/com/android/dialer/main/impl/OldMainActivityPeer.java
+++ b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
@@ -196,7 +196,9 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
mainActivity, mainActivity.getContentResolver(), bottomNav, toolbar);
bottomNav.addOnTabSelectedListener(callLogFragmentListener);
- searchController = getNewMainSearchController(bottomNav, fab, toolbar);
+ searchController =
+ getNewMainSearchController(
+ bottomNav, fab, toolbar, mainActivity.findViewById(R.id.toolbar_shadow));
toolbar.setSearchBarListener(searchController);
onDialpadQueryChangedListener = getNewOnDialpadQueryChangedListener(searchController);
@@ -284,6 +286,13 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
.getDatabaseHelper(mainActivity)
.startSmartDialUpdateThread(forceUpdate);
showPostCallPrompt();
+
+ if (searchController.isInSearch()
+ || callLogAdapterOnActionModeStateChangedListener.isActionModeStateEnabled()) {
+ bottomNav.setVisibility(View.GONE);
+ } else {
+ bottomNav.setVisibility(View.VISIBLE);
+ }
}
@Override
@@ -375,8 +384,11 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
}
public MainSearchController getNewMainSearchController(
- BottomNavBar bottomNavBar, FloatingActionButton fab, MainToolbar mainToolbar) {
- return new MainSearchController(mainActivity, bottomNavBar, fab, mainToolbar);
+ BottomNavBar bottomNavBar,
+ FloatingActionButton fab,
+ MainToolbar mainToolbar,
+ View toolbarShadow) {
+ return new MainSearchController(mainActivity, bottomNavBar, fab, mainToolbar, toolbarShadow);
}
public MainOnDialpadQueryChangedListener getNewOnDialpadQueryChangedListener(
@@ -482,7 +494,6 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
}
/** @see CallLogAdapter.OnActionModeStateChangedListener */
- // TODO(calderwoodra): What is the purpose of this listener?
private static final class MainCallLogAdapterOnActionModeStateChangedListener
implements CallLogAdapter.OnActionModeStateChangedListener {
diff --git a/java/com/android/dialer/main/impl/res/layout/main_activity.xml b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
index d8b13a6c2..4f0284126 100644
--- a/java/com/android/dialer/main/impl/res/layout/main_activity.xml
+++ b/java/com/android/dialer/main/impl/res/layout/main_activity.xml
@@ -68,11 +68,13 @@
layout="@layout/toolbar_layout"/>
<ImageView
+ android:id="@+id/toolbar_shadow"
android:layout_width="match_parent"
android:layout_height="2dp"
android:scaleType="fitXY"
android:src="@drawable/search_shadow"
- android:layout_below="@+id/toolbar"/>
+ android:layout_below="@+id/toolbar"
+ android:visibility="gone"/>
<!-- TODO(calderwoodra): investigate what this is for and why we want it. -->
<!-- Host container for the contact tile drag shadow -->