Skip to content

Commit ce55275

Browse files
committed
Tell user about errors in toasts
1 parent 1d0a8ec commit ce55275

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

app/src/main/java/com/polar/mirror/ActionPanelController.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import android.view.animation.Animation;
66
import android.view.animation.AnimationUtils;
77
import android.os.Handler;
8+
import android.widget.Toast;
89

910
import androidx.annotation.NonNull;
1011

@@ -21,6 +22,8 @@ public class ActionPanelController implements View.OnClickListener {
2122
private Handler mHideHandler;
2223
private Runnable mHideRunnable;
2324
private final int hideMs;
25+
private boolean isFirstTimeHide = true;
26+
private final Context mContext;
2427
public ActionPanelController(Context context, View panelView, View overlayView){
2528
mPanelView = panelView;
2629
mOverlayView = overlayView;
@@ -30,6 +33,7 @@ public ActionPanelController(Context context, View panelView, View overlayView){
3033
if(hideMs < 0){
3134
throw new RuntimeException("Bad configuration: negative hideMs");
3235
}
36+
mContext = context;
3337
setupAnimations();
3438
setupAutoHide();
3539
}
@@ -82,6 +86,11 @@ public void onAnimationRepeat(Animation animation) {
8286
}
8387

8488
private void hidePanel(){
89+
if(isFirstTimeHide){
90+
final String toastText = mContext.getString(R.string.tap_to_show_actions);
91+
Toast.makeText(mContext, toastText, Toast.LENGTH_LONG).show();
92+
isFirstTimeHide = false;
93+
}
8594
mPanelView.startAnimation(mSlideDownAnimation);
8695
mOverlayView.startAnimation(mSlideDownAnimation);
8796
mPanelVisible = false;

app/src/main/java/com/polar/mirror/MainActivity.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
import androidx.camera.core.CameraSelector;
77
import androidx.camera.core.Preview;
88
import androidx.camera.view.PreviewView;
9-
import androidx.lifecycle.LifecycleOwner;
109
import androidx.camera.lifecycle.ProcessCameraProvider;
1110

1211
import android.os.Bundle;
1312
import android.util.Log;
1413
import android.view.View;
1514
import android.widget.ImageView;
15+
import android.widget.Toast;
1616

1717
import com.google.android.material.floatingactionbutton.FloatingActionButton;
1818

@@ -46,6 +46,8 @@ protected void onCreate(Bundle savedInstanceState) {
4646
try {
4747
startCamera();
4848
} catch (ExecutionException | InterruptedException e) {
49+
final String toastText = getString(R.string.can_not_start_camera);
50+
Toast.makeText(this, toastText, Toast.LENGTH_LONG).show();
4951
e.printStackTrace();
5052
}
5153

@@ -121,8 +123,8 @@ private void startCamera() throws ExecutionException, InterruptedException {
121123
.requireLensFacing(CameraSelector.LENS_FACING_FRONT)
122124
.build();
123125
cameraProvider.unbindAll();
124-
cameraProvider.bindToLifecycle((LifecycleOwner)this, cameraSelector, preview);
125-
mFreezeController.onCameraInitialized(cameraProvider, (LifecycleOwner)this);
126+
cameraProvider.bindToLifecycle(this, cameraSelector, preview);
127+
mFreezeController.onCameraInitialized(cameraProvider, this);
126128
} catch (Exception e) {
127129
e.printStackTrace();
128130
}

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@
33
<string name="exit">Exit app</string>
44
<string name="freeze">Freeze</string>
55
<string name="stop_view_desc">Image displaying stop-frame</string>
6+
<string name="tap_to_show_actions">Tap anywhere to show actions again</string>
7+
<string name="can_not_start_camera">Can not access camera</string>
68
</resources>

0 commit comments

Comments
 (0)