summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-04-06 12:30:47 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-06 16:35:34 -0700
commit7c4d9bb81e738698ff5fd2392c62b547190fc7d9 (patch)
treed610853faa402cbd3d6f0ce514ea0ed8b794c513 /java/com/android/dialer/main
parent23ef36ff6dfd2fdb47f6ec8bb6928e4e40e11fa5 (diff)
Convert new speed dial to support fragment and add it to new peer.
Bug: 36841782 Test: MainActivityNewPeerTest PiperOrigin-RevId: 191924314 Change-Id: I5e4a4adadd5477115d6b4daf8afb8c6f819496c8
Diffstat (limited to 'java/com/android/dialer/main')
-rw-r--r--java/com/android/dialer/main/impl/NewMainActivityPeer.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/java/com/android/dialer/main/impl/NewMainActivityPeer.java b/java/com/android/dialer/main/impl/NewMainActivityPeer.java
index 960787972..0ab69a443 100644
--- a/java/com/android/dialer/main/impl/NewMainActivityPeer.java
+++ b/java/com/android/dialer/main/impl/NewMainActivityPeer.java
@@ -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));
}