summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRahul <rahul731999@gmail.com>2021-06-17 11:59:11 +0530
committerSemavi Ulusoy <doc.divxm@gmail.com>2022-09-13 10:46:25 +0300
commit966db2b7270a8a468faf4b6f76fb4d147651d7c3 (patch)
tree558f09103b7d67947feab7883187e37e192e3561
parent23cbc0181acffcd3e60425c09a4da52044c677b2 (diff)
Dialer: Introduce swipe to call
AICP - Includes "Dialer: nuke decorator for now" - Cleaned up some code Change-Id: I53e514a6f12189a3d18669cb26f292027a5020dd Signed-off-by: George Zacharia <george.zcharia@gmail.com>
-rw-r--r--java/com/android/dialer/app/calllog/CallLogFragment.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/java/com/android/dialer/app/calllog/CallLogFragment.java b/java/com/android/dialer/app/calllog/CallLogFragment.java
index 771254ee8..dc0d5d94b 100644
--- a/java/com/android/dialer/app/calllog/CallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/CallLogFragment.java
@@ -23,9 +23,12 @@ import android.app.Fragment;
import android.app.KeyguardManager;
import android.content.ContentResolver;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.database.Cursor;
+import android.graphics.Canvas;
+import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
@@ -39,6 +42,8 @@ import android.support.v13.app.FragmentCompat.OnRequestPermissionsResultCallback
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.helper.ItemTouchHelper;
+import android.support.v7.widget.helper.ItemTouchHelper.SimpleCallback;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -297,6 +302,31 @@ public class CallLogFragment extends Fragment
protected void setupView(View view) {
recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
+ SimpleCallback simpleCallback = new SimpleCallback(50, ItemTouchHelper.LEFT) {
+
+ @Override
+ public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
+ return false;
+ }
+
+ @Override
+ public void onSwiped(RecyclerView.ViewHolder holder, int direction) {
+ if (holder instanceof CallLogListItemViewHolder) {
+ CallLogListItemViewHolder viewHolder = ((CallLogListItemViewHolder) holder);
+ getContext().startActivity(new Intent(Intent.ACTION_CALL).setData(Uri.parse("tel: " + viewHolder.number)));
+ }
+ adapter.notifyItemChanged(holder.getAdapterPosition());
+ }
+
+ @Override
+ public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
+ super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
+ }
+ };
+
+ ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
+ itemTouchHelper.attachToRecyclerView(recyclerView);
+
if (ConfigProviderComponent.get(getContext())
.getConfigProvider()
.getBoolean("is_call_log_item_anim_null", false)) {