Files
Android/src/org/thoughtcrime/securesms/mediasend/CameraButtonView.java
T

65 lines
1.6 KiB
Java

package org.thoughtcrime.securesms.mediasend;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import androidx.appcompat.widget.AppCompatButton;
import org.thoughtcrime.securesms.R;
public final class CameraButtonView extends AppCompatButton {
private Animation shrinkAnimation;
private Animation growAnimation;
public CameraButtonView(Context context) {
super(context);
init(context);
}
public CameraButtonView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public CameraButtonView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
public void init(Context context) {
shrinkAnimation = AnimationUtils.loadAnimation(context, R.anim.camera_capture_button_shrink);
growAnimation = AnimationUtils.loadAnimation(context, R.anim.camera_capture_button_grow);
shrinkAnimation.setFillAfter(true);
shrinkAnimation.setFillEnabled(true);
growAnimation.setFillAfter(true);
growAnimation.setFillEnabled(true);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (isEnabled()) {
startAnimation(shrinkAnimation);
performClick();
}
return true;
case MotionEvent.ACTION_UP:
startAnimation(growAnimation);
return true;
}
return false;
}
@Override
public boolean performClick() {
return super.performClick();
}
}