package com.hdl.sdk.sourceos.knob; import android.os.Handler; import android.os.Looper; import android.util.Log; /** * Created by Tong on 2022/8/29. * 快速响应 */ public abstract class IQuickKnobListenerAdapter extends OsEventListener { //左旋 public static final int LEFT_KEY_CODE = 132; //右旋 public static final int RIGHT_KEY_CODE = 131; private static final Handler mHandler = new Handler(Looper.getMainLooper()); //上一次 public IQuickKnobListenerAdapter() { } public void clear() { mHandler.removeCallbacksAndMessages(null); } public void onKnobLeftListener() { Log.i("knob", "IKnobListenerAdapter:onKnobLeft"); } /** * 向右旋转 */ public void onKnobRightListener() { Log.i("knob", "IKnobListenerAdapter:onKnobLongRight"); } @Override public void onKeyEvent(int keyCode, int action) { if (keyCode == LEFT_KEY_CODE) { //向左旋转 mHandler.post(mKnobLeftRunnable); } else if (keyCode == RIGHT_KEY_CODE) { //向右旋转 mHandler.post(mKnobRightRunnable); } } private final Runnable mKnobLeftRunnable = new Runnable() { @Override public void run() { try { onKnobLeftListener(); } catch (Exception e) { e.printStackTrace(); } } }; private final Runnable mKnobRightRunnable = new Runnable() { @Override public void run() { try { onKnobRightListener(); } catch (Exception e) { e.printStackTrace(); } } }; }