Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a642ec1 authored by calderwoodra's avatar calderwoodra Committed by android-build-merger
Browse files

Merge changes I5e4a4ada,I792a6f03

am: ce62c87e

Change-Id: I7d79dc3fb7e6ebc73708ca3cdf243305aa46a887
parents 295e807a ce62c87e
Loading
Loading
Loading
Loading
+4 −20
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.dialer.app.list;

import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.support.annotation.IntDef;
import android.support.v13.app.FragmentPagerAdapter;
import android.view.ViewGroup;
@@ -26,11 +25,9 @@ import com.android.dialer.app.calllog.CallLogFragment;
import com.android.dialer.app.calllog.VisualVoicemailCallLogFragment;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.contactsfragment.ContactsFragment;
import com.android.dialer.contactsfragment.ContactsFragment.Header;
import com.android.dialer.database.CallLogQueryHandler;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.util.ViewUtil;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -55,9 +52,7 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {

  private final List<Fragment> fragments = new ArrayList<>();
  private final String[] tabTitles;
  private final boolean useNewSpeedDialTab;
  private OldSpeedDialFragment oldSpeedDialFragment;
  private SpeedDialFragment speedDialFragment;
  private CallLogFragment callLogFragment;
  private ContactsFragment contactsFragment;
  private CallLogFragment voicemailFragment;
@@ -65,10 +60,8 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
  private boolean hasActiveVoicemailProvider;

  public DialtactsPagerAdapter(
      Context context, FragmentManager fm, String[] tabTitles, boolean hasVoicemailProvider) {
      FragmentManager fm, String[] tabTitles, boolean hasVoicemailProvider) {
    super(fm);
    useNewSpeedDialTab =
        ConfigProviderBindings.get(context).getBoolean("enable_new_favorites_tab", false);
    this.tabTitles = tabTitles;
    hasActiveVoicemailProvider = hasVoicemailProvider;
    fragments.addAll(Collections.nCopies(TAB_COUNT_WITH_VOICEMAIL, null));
@@ -84,17 +77,10 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
    LogUtil.d("ViewPagerAdapter.getItem", "position: %d", position);
    switch (getRtlPosition(position)) {
      case TAB_INDEX_SPEED_DIAL:
        if (useNewSpeedDialTab) {
          if (speedDialFragment == null) {
            speedDialFragment = SpeedDialFragment.newInstance();
          }
          return speedDialFragment;
        } else {
        if (oldSpeedDialFragment == null) {
          oldSpeedDialFragment = new OldSpeedDialFragment();
        }
        return oldSpeedDialFragment;
        }
      case TAB_INDEX_HISTORY:
        if (callLogFragment == null) {
          callLogFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL);
@@ -128,8 +114,6 @@ public class DialtactsPagerAdapter extends FragmentPagerAdapter {
    final Fragment fragment = (Fragment) super.instantiateItem(container, position);
    if (fragment instanceof OldSpeedDialFragment) {
      oldSpeedDialFragment = (OldSpeedDialFragment) fragment;
    } else if (fragment instanceof SpeedDialFragment) {
      speedDialFragment = (SpeedDialFragment) fragment;
    } else if (fragment instanceof CallLogFragment && position == TAB_INDEX_HISTORY) {
      callLogFragment = (CallLogFragment) fragment;
    } else if (fragment instanceof ContactsFragment) {
+4 −7
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ import com.android.dialer.logging.Logger;
import com.android.dialer.logging.ScreenEvent;
import com.android.dialer.logging.UiAction;
import com.android.dialer.performancereport.PerformanceReport;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.util.PermissionsUtil;
import com.android.dialer.voicemail.listui.error.VoicemailStatusCorruptionHandler;
import com.android.dialer.voicemail.listui.error.VoicemailStatusCorruptionHandler.Source;
@@ -199,7 +198,6 @@ public class ListsFragment extends Fragment
    viewPager = (DialerViewPager) parentView.findViewById(R.id.lists_pager);
    adapter =
        new DialtactsPagerAdapter(
            getContext(),
            getChildFragmentManager(),
            tabTitles,
            prefs.getBoolean(
@@ -456,11 +454,10 @@ public class ListsFragment extends Fragment
  }

  public boolean hasFrequents() {
    Fragment page =
    OldSpeedDialFragment page =
        (OldSpeedDialFragment)
            adapter.getItem(adapter.getRtlPosition(DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL));
    return page instanceof OldSpeedDialFragment
        ? ((OldSpeedDialFragment) page).hasFrequents()
        : ((SpeedDialFragment) page).hasFrequents();
    return page.hasFrequents();
  }

  public RemoveView getRemoveView() {
+9 −6
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ public class MainSearchController implements SearchBarListener {

    fab.hide();
    toolbar.slideUp(animate, fragmentContainer);
    toolbar.expand(animate, Optional.absent());
    toolbar.expand(animate, Optional.absent(), /* requestFocus */ false);
    toolbarShadow.setVisibility(View.VISIBLE);

    activity.setTitle(R.string.dialpad_activity_title);
@@ -390,7 +390,7 @@ public class MainSearchController implements SearchBarListener {
    Logger.get(activity).logScreenView(ScreenEvent.Type.MAIN_SEARCH, activity);

    fab.hide();
    toolbar.expand(/* animate=*/ true, query);
    toolbar.expand(/* animate=*/ true, query, /* requestFocus */ true);
    toolbar.showKeyboard();
    toolbarShadow.setVisibility(View.VISIBLE);
    hideBottomNav();
@@ -528,12 +528,15 @@ public class MainSearchController implements SearchBarListener {
    if (savedInstanceState.getBoolean(KEY_IS_FAB_HIDDEN, false)) {
      fab.hide();
    }
    if (savedInstanceState.getBoolean(KEY_IS_TOOLBAR_EXPANDED, false)) {
      toolbar.expand(false, Optional.absent());
    }
    if (savedInstanceState.getBoolean(KEY_IS_TOOLBAR_SLIDE_UP, false)) {
    boolean isSlideUp = savedInstanceState.getBoolean(KEY_IS_TOOLBAR_SLIDE_UP, false);
    if (isSlideUp) {
      toolbar.slideUp(false, fragmentContainer);
    }
    if (savedInstanceState.getBoolean(KEY_IS_TOOLBAR_EXPANDED, false)) {
      // If the toolbar is slide up, that means the dialpad is showing. Thus we don't want to
      // request focus or we'll break physical/bluetooth keyboards typing.
      toolbar.expand(/* animate */ false, Optional.absent(), /* requestFocus */ !isSlideUp);
    }
  }

  public void addOnSearchShowListener(OnSearchShowListener listener) {
+19 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.dialer.main.MainActivityPeer;
import com.android.dialer.main.impl.bottomnav.BottomNavBar;
import com.android.dialer.main.impl.bottomnav.BottomNavBar.OnBottomNavTabSelectedListener;
import com.android.dialer.main.impl.bottomnav.BottomNavBar.TabIndex;
import com.android.dialer.speeddial.SpeedDialFragment;
import com.android.dialer.voicemail.listui.NewVoicemailFragment;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.MoreExecutors;
@@ -89,6 +90,7 @@ public class NewMainActivityPeer implements MainActivityPeer {
  private static final class MainBottomNavBarBottomNavTabListener
      implements OnBottomNavTabSelectedListener {

    private static final String SPEED_DIAL_TAG = "speed_dial";
    private static final String CALL_LOG_TAG = "call_log";
    private static final String VOICEMAIL_TAG = "voicemail";

@@ -104,7 +106,16 @@ public class NewMainActivityPeer implements MainActivityPeer {
    @Override
    public void onSpeedDialSelected() {
      hideAllFragments();
      // TODO(calderwoodra): Implement SpeedDialFragment when FragmentUtils#getParent works
      SpeedDialFragment fragment =
          (SpeedDialFragment) supportFragmentManager.findFragmentByTag(SPEED_DIAL_TAG);
      if (fragment == null) {
        supportFragmentManager
            .beginTransaction()
            .add(R.id.fragment_container, SpeedDialFragment.newInstance(), SPEED_DIAL_TAG)
            .commit();
      } else {
        supportFragmentManager.beginTransaction().show(fragment).commit();
      }
    }

    @Override
@@ -143,8 +154,14 @@ public class NewMainActivityPeer implements MainActivityPeer {
      }
    }

    // TODO(calderwoodra): fix overlapping fragments issue
    private void hideAllFragments() {
      FragmentTransaction supportTransaction = supportFragmentManager.beginTransaction();
      Fragment speedDialFragment = supportFragmentManager.findFragmentByTag(SPEED_DIAL_TAG);
      if (speedDialFragment != null) {
        supportTransaction.hide(speedDialFragment);
      }

      Fragment callLogFragment = supportFragmentManager.findFragmentByTag(CALL_LOG_TAG);
      if (callLogFragment != null) {
        if (callLogFragment.isVisible()) {
@@ -158,6 +175,7 @@ public class NewMainActivityPeer implements MainActivityPeer {
        }
        supportTransaction.hide(callLogFragment);
      }

      if (supportFragmentManager.findFragmentByTag(VOICEMAIL_TAG) != null) {
        supportTransaction.hide(supportFragmentManager.findFragmentByTag(VOICEMAIL_TAG));
      }
+3 −3
Original line number Diff line number Diff line
@@ -113,9 +113,9 @@ public final class MainToolbar extends Toolbar implements PopupMenu.OnMenuItemCl
    searchBar.collapse(animate);
  }

  /** @see SearchBarView#collapse(boolean) */
  public void expand(boolean animate, Optional<String> text) {
    searchBar.expand(animate, text);
  /** @see SearchBarView#expand(boolean, Optional, boolean) */
  public void expand(boolean animate, Optional<String> text, boolean requestFocus) {
    searchBar.expand(animate, text, requestFocus);
  }

  public boolean isSlideUp() {
Loading