|
|
|
|
@ -15,7 +15,7 @@ import com.fongmi.android.tv.App; |
|
|
|
|
import com.fongmi.android.tv.utils.ResUtil; |
|
|
|
|
import com.fongmi.android.tv.utils.Util; |
|
|
|
|
|
|
|
|
|
public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener { |
|
|
|
|
public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener implements ScaleGestureDetector.OnScaleGestureListener { |
|
|
|
|
|
|
|
|
|
private static final int DISTANCE = 250; |
|
|
|
|
private static final int VELOCITY = 10; |
|
|
|
|
@ -46,7 +46,7 @@ public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener { |
|
|
|
|
|
|
|
|
|
private CustomKeyDownLive(Activity activity, View videoView) { |
|
|
|
|
this.manager = (AudioManager) activity.getSystemService(Context.AUDIO_SERVICE); |
|
|
|
|
this.scaleDetector = new ScaleGestureDetector(activity, new ScaleListener()); |
|
|
|
|
this.scaleDetector = new ScaleGestureDetector(activity, this); |
|
|
|
|
this.detector = new GestureDetector(activity, this); |
|
|
|
|
this.listener = (Listener) activity; |
|
|
|
|
this.videoView = videoView; |
|
|
|
|
@ -189,29 +189,27 @@ public class CustomKeyDownLive extends GestureDetector.SimpleOnGestureListener { |
|
|
|
|
listener.onVolume((int) (index / maxVolume * 100)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { |
|
|
|
|
@Override |
|
|
|
|
public boolean onScaleBegin(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
if (changeBright || changeVolume || changeSpeed || changeTime || lock) return false; |
|
|
|
|
return changeScale = true; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public boolean onScaleBegin(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
if (changeBright || changeVolume || changeSpeed || changeTime || lock) return changeScale = false; |
|
|
|
|
return changeScale = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onScaleEnd(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
App.post(() -> changeScale = false, 250); |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public void onScaleEnd(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
App.post(() -> changeScale = false, 250); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean onScale(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
if (!changeScale) return false; |
|
|
|
|
scale *= detector.getScaleFactor(); |
|
|
|
|
scale = Math.max(1.0f, Math.min(scale, 5.0f)); |
|
|
|
|
videoView.setPivotX(detector.getFocusX()); |
|
|
|
|
videoView.setPivotY(detector.getFocusY()); |
|
|
|
|
videoView.setScaleX(scale); |
|
|
|
|
videoView.setScaleY(scale); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public boolean onScale(@NonNull ScaleGestureDetector detector) { |
|
|
|
|
if (!changeScale) return false; |
|
|
|
|
scale *= detector.getScaleFactor(); |
|
|
|
|
scale = Math.max(1.0f, Math.min(scale, 5.0f)); |
|
|
|
|
videoView.setPivotX(detector.getFocusX()); |
|
|
|
|
videoView.setPivotY(detector.getFocusY()); |
|
|
|
|
videoView.setScaleX(scale); |
|
|
|
|
videoView.setScaleY(scale); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public interface Listener { |
|
|
|
|
|