diff options
| author | Rahul <rahul731999@gmail.com> | 2021-06-17 11:59:11 +0530 |
|---|---|---|
| committer | Semavi Ulusoy <doc.divxm@gmail.com> | 2022-09-13 10:46:25 +0300 |
| commit | 966db2b7270a8a468faf4b6f76fb4d147651d7c3 (patch) | |
| tree | 558f09103b7d67947feab7883187e37e192e3561 | |
| parent | 23cbc0181acffcd3e60425c09a4da52044c677b2 (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.java | 30 |
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)) { |
