diff options
Diffstat (limited to 'samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java')
-rw-r--r-- | samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java b/samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java index 4b5535859..2414ed657 100644 --- a/samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java +++ b/samples/browseable/Camera2Basic/src/com.example.android.camera2basic/Camera2BasicFragment.java @@ -43,6 +43,7 @@ import android.media.ImageReader; import android.os.Bundle; import android.os.Handler; import android.os.HandlerThread; +import android.os.Message; import android.util.Log; import android.util.Size; import android.util.SparseIntArray; @@ -315,6 +316,32 @@ public class Camera2BasicFragment extends Fragment implements View.OnClickListen }; /** + * A {@link Handler} for showing {@link Toast}s. + */ + private Handler mMessageHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + Activity activity = getActivity(); + if (activity != null) { + Toast.makeText(activity, (String) msg.obj, Toast.LENGTH_SHORT).show(); + } + } + }; + + /** + * Shows a {@link Toast} on the UI thread. + * + * @param text The message to show + */ + private void showToast(String text) { + // We show a Toast by sending request message to mMessageHandler. This makes sure that the + // Toast is shown on the UI thread. + Message message = Message.obtain(); + message.obj = text; + mMessageHandler.sendMessage(message); + } + + /** * Given {@code choices} of {@code Size}s supported by a camera, chooses the smallest one whose * width and height are at least as large as the respective requested values, and whose aspect * ratio matches with the specified value. @@ -573,10 +600,7 @@ public class Camera2BasicFragment extends Fragment implements View.OnClickListen @Override public void onConfigureFailed(CameraCaptureSession cameraCaptureSession) { - Activity activity = getActivity(); - if (null != activity) { - Toast.makeText(activity, "Failed", Toast.LENGTH_SHORT).show(); - } + showToast("Failed"); } }, null ); @@ -689,7 +713,7 @@ public class Camera2BasicFragment extends Fragment implements View.OnClickListen @Override public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) { - Toast.makeText(getActivity(), "Saved: " + mFile, Toast.LENGTH_SHORT).show(); + showToast("Saved: " + mFile); unlockFocus(); } }; |