summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/com/android/dialer/app/list/DialtactsPagerAdapter.java24
-rw-r--r--java/com/android/dialer/app/list/ListsFragment.java11
-rw-r--r--java/com/android/dialer/main/impl/NewMainActivityPeer.java20
-rw-r--r--java/com/android/dialer/speeddial/DisambigDialog.java36
-rw-r--r--java/com/android/dialer/speeddial/SpeedDialFragment.java6
-rw-r--r--java/com/android/dialer/speeddial/StrequentContactsCursorLoader.java2
6 files changed, 39 insertions, 60 deletions
diff --git a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
index 364ae6fad..317f24fef 100644
--- a/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
+++ b/java/com/android/dialer/app/list/DialtactsPagerAdapter.java
@@ -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;
+ 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) {
diff --git a/java/com/android/dialer/app/list/ListsFragment.java b/java/com/android/dialer/app/list/ListsFragment.java
index d314917ef..93e89230b 100644
--- a/java/com/android/dialer/app/list/ListsFragment.java
+++ b/java/com/android/dialer/app/list/ListsFragment.java
@@ -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 =
- adapter.getItem(adapter.getRtlPosition(DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL));
- return page instanceof OldSpeedDialFragment
- ? ((OldSpeedDialFragment) page).hasFrequents()
- : ((SpeedDialFragment) page).hasFrequents();
+ OldSpeedDialFragment page =
+ (OldSpeedDialFragment)
+ adapter.getItem(adapter.getRtlPosition(DialtactsPagerAdapter.TAB_INDEX_SPEED_DIAL));
+ return page.hasFrequents();
}
public RemoveView getRemoveView() {
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));
}
diff --git a/java/com/android/dialer/speeddial/DisambigDialog.java b/java/com/android/dialer/speeddial/DisambigDialog.java
index ca02f41eb..1ee26f595 100644
--- a/java/com/android/dialer/speeddial/DisambigDialog.java
+++ b/java/com/android/dialer/speeddial/DisambigDialog.java
@@ -16,10 +16,7 @@
package com.android.dialer.speeddial;
-import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.DialogFragment;
-import android.app.FragmentManager;
import android.content.ContentResolver;
import android.content.res.Resources;
import android.database.Cursor;
@@ -27,6 +24,9 @@ import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
+import android.support.v4.app.DialogFragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.util.ArraySet;
import android.view.LayoutInflater;
@@ -37,7 +37,6 @@ import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutor.Worker;
-import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.duo.DuoComponent;
import com.android.dialer.precall.PreCall;
import java.util.ArrayList;
@@ -48,10 +47,14 @@ import java.util.Set;
public class DisambigDialog extends DialogFragment {
@VisibleForTesting public static final String DISAMBIG_DIALOG_TAG = "disambig_dialog";
+
+ @SuppressWarnings("unused")
private static final String DISAMBIG_DIALOG_WORKER_TAG = "disambig_dialog_worker";
private final Set<String> phoneNumbers = new ArraySet<>();
private LinearLayout container;
+
+ @SuppressWarnings("unused")
private String lookupKey;
/** Show a disambiguation dialog for a starred contact without a favorite communication avenue. */
@@ -71,12 +74,6 @@ public class DisambigDialog extends DialogFragment {
}
@Override
- public void onResume() {
- super.onResume();
- lookupContactInfo();
- }
-
- @Override
public void onPause() {
super.onPause();
// TODO(calderwoodra): for simplicity, just dismiss the dialog on configuration change and
@@ -84,19 +81,6 @@ public class DisambigDialog extends DialogFragment {
dismiss();
}
- private void lookupContactInfo() {
- DialerExecutorComponent.get(getContext())
- .dialerExecutorFactory()
- .createUiTaskBuilder(
- getFragmentManager(),
- DISAMBIG_DIALOG_WORKER_TAG,
- new LookupContactInfoWorker(getContext().getContentResolver()))
- .onSuccess(this::insertOptions)
- .onFailure(this::onLookupFailed)
- .build()
- .executeParallel(lookupKey);
- }
-
/**
* Inflates and inserts the following in the dialog:
*
@@ -106,6 +90,7 @@ public class DisambigDialog extends DialogFragment {
* <li>Clickable voice option
* </ul>
*/
+ @SuppressWarnings("unused")
private void insertOptions(Cursor cursor) {
if (!cursorIsValid(cursor)) {
dismiss();
@@ -197,11 +182,6 @@ public class DisambigDialog extends DialogFragment {
return true;
}
- private void onLookupFailed(Throwable throwable) {
- LogUtil.e("DisambigDialog.onLookupFailed", null, throwable);
- insertOptions(null);
- }
-
private static class LookupContactInfoWorker implements Worker<String, Cursor> {
static final int NUMBER_INDEX = 0;
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index 979c894fe..03a3c75bf 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -16,13 +16,13 @@
package com.android.dialer.speeddial;
-import android.app.Fragment;
-import android.app.LoaderManager.LoaderCallbacks;
import android.content.Intent;
-import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.support.annotation.Nullable;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.LoaderManager.LoaderCallbacks;
+import android.support.v4.content.Loader;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
diff --git a/java/com/android/dialer/speeddial/StrequentContactsCursorLoader.java b/java/com/android/dialer/speeddial/StrequentContactsCursorLoader.java
index 40d03846f..a2dcfdc40 100644
--- a/java/com/android/dialer/speeddial/StrequentContactsCursorLoader.java
+++ b/java/com/android/dialer/speeddial/StrequentContactsCursorLoader.java
@@ -17,13 +17,13 @@
package com.android.dialer.speeddial;
import android.content.Context;
-import android.content.CursorLoader;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
+import android.support.v4.content.CursorLoader;
/** Cursor Loader for strequent contacts. */
public final class StrequentContactsCursorLoader extends CursorLoader {