summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-05-11 21:31:16 -0700
committerCopybara-Service <copybara-piper@google.com>2018-05-15 11:11:30 -0700
commit0ae50bdaaa095aa18eeb897f96778de64f3e6cd3 (patch)
treed9b7dcd6795cb6c986124a071099349c1daaf19f
parentb628cfb41b4032450fd8f72388d212b924910177 (diff)
Exit multiselect mode when opening the dialpad.
Bug: 79183384 Test: manual PiperOrigin-RevId: 196344851 Change-Id: I9f5c0e52cb4efe9e63e2c19a4f62ee0b9a23412f
-rw-r--r--java/com/android/dialer/app/DialtactsActivity.java3
-rw-r--r--java/com/android/dialer/app/calllog/CallLogAdapter.java6
-rw-r--r--java/com/android/dialer/main/impl/OldMainActivityPeer.java9
3 files changed, 13 insertions, 5 deletions
diff --git a/java/com/android/dialer/app/DialtactsActivity.java b/java/com/android/dialer/app/DialtactsActivity.java
index c819fecba..06f094d5e 100644
--- a/java/com/android/dialer/app/DialtactsActivity.java
+++ b/java/com/android/dialer/app/DialtactsActivity.java
@@ -46,6 +46,7 @@ import android.telecom.PhoneAccount;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
+import android.view.ActionMode;
import android.view.DragEvent;
import android.view.Gravity;
import android.view.Menu;
@@ -1532,7 +1533,7 @@ public class DialtactsActivity extends TransactionSafeActivity
}
@Override
- public void onActionModeStateChanged(boolean isEnabled) {
+ public void onActionModeStateChanged(ActionMode mode, boolean isEnabled) {
isMultiSelectModeEnabled = isEnabled;
}
diff --git a/java/com/android/dialer/app/calllog/CallLogAdapter.java b/java/com/android/dialer/app/calllog/CallLogAdapter.java
index c2c753e43..450e5eaa7 100644
--- a/java/com/android/dialer/app/calllog/CallLogAdapter.java
+++ b/java/com/android/dialer/app/calllog/CallLogAdapter.java
@@ -178,7 +178,7 @@ public class CallLogAdapter extends GroupingListAdapter
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.actionbar_delete, menu);
multiSelectRemoveView.showMultiSelectRemoveView(true);
- actionModeStateChangedListener.onActionModeStateChanged(true);
+ actionModeStateChangedListener.onActionModeStateChanged(mode, true);
return true;
}
@@ -216,7 +216,7 @@ public class CallLogAdapter extends GroupingListAdapter
selectAllMode = false;
deselectAllMode = false;
multiSelectRemoveView.showMultiSelectRemoveView(false);
- actionModeStateChangedListener.onActionModeStateChanged(false);
+ actionModeStateChangedListener.onActionModeStateChanged(null, false);
notifyDataSetChanged();
}
};
@@ -1511,7 +1511,7 @@ public class CallLogAdapter extends GroupingListAdapter
/** Interface used to allow single tap multi select for contact photos. */
public interface OnActionModeStateChangedListener {
- void onActionModeStateChanged(boolean isEnabled);
+ void onActionModeStateChanged(ActionMode mode, boolean isEnabled);
boolean isActionModeStateEnabled();
}
diff --git a/java/com/android/dialer/main/impl/OldMainActivityPeer.java b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
index 2d6b0a6e7..16f46c10f 100644
--- a/java/com/android/dialer/main/impl/OldMainActivityPeer.java
+++ b/java/com/android/dialer/main/impl/OldMainActivityPeer.java
@@ -48,6 +48,7 @@ import android.telecom.PhoneAccountHandle;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
+import android.view.ActionMode;
import android.view.DragEvent;
import android.view.View;
import android.widget.ImageView;
@@ -255,6 +256,10 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
v -> {
Logger.get(activity).logImpression(DialerImpression.Type.MAIN_CLICK_FAB_TO_OPEN_DIALPAD);
searchController.showDialpad(true);
+ if (callLogAdapterOnActionModeStateChangedListener.isEnabled) {
+ LogUtil.i("OldMainActivityPeer.onFabClicked", "closing multiselect");
+ callLogAdapterOnActionModeStateChangedListener.actionMode.finish();
+ }
});
MainToolbar toolbar = activity.findViewById(R.id.toolbar);
@@ -798,9 +803,11 @@ public class OldMainActivityPeer implements MainActivityPeer, FragmentUtilListen
implements CallLogAdapter.OnActionModeStateChangedListener {
private boolean isEnabled;
+ private ActionMode actionMode;
@Override
- public void onActionModeStateChanged(boolean isEnabled) {
+ public void onActionModeStateChanged(ActionMode actionMode, boolean isEnabled) {
+ this.actionMode = actionMode;
this.isEnabled = isEnabled;
}