Only show video tooltip if capable.

This commit is contained in:
Greyson Parrelli 2019-10-18 09:31:01 -04:00
parent ef585eba42
commit 44dba4bd98
2 changed files with 13 additions and 4 deletions

View file

@ -57,8 +57,7 @@ import java.io.IOException;
@RequiresApi(21) @RequiresApi(21)
public class CameraXFragment extends Fragment implements CameraFragment { public class CameraXFragment extends Fragment implements CameraFragment {
private static final String TAG = Log.tag(CameraXFragment.class); private static final String TAG = Log.tag(CameraXFragment.class);
private static final String HAS_DISMISSED_VIDEO_RECORDING_TOOLTIP = "camerax.fragment.has.dismissed.video.recording.tooltip";
private CameraXView camera; private CameraXView camera;
private ViewGroup controlsContainer; private ViewGroup controlsContainer;
@ -283,11 +282,11 @@ public class CameraXFragment extends Fragment implements CameraFragment {
} }
private boolean shouldDisplayVideoRecordingTooltip() { private boolean shouldDisplayVideoRecordingTooltip() {
return !TextSecurePreferences.getBooleanPreference(requireContext(), HAS_DISMISSED_VIDEO_RECORDING_TOOLTIP, false); return !TextSecurePreferences.hasSeenVideoRecordingTooltip(requireContext()) && MediaConstraints.isVideoTranscodeAvailable();
} }
private void neverDisplayVideoRecordingTooltipAgain() { private void neverDisplayVideoRecordingTooltipAgain() {
TextSecurePreferences.setBooleanPreference(requireContext(), HAS_DISMISSED_VIDEO_RECORDING_TOOLTIP, true); TextSecurePreferences.setHasSeenVideoRecordingTooltip(requireContext(), true);
} }
private void hideAndDisableControlsForVideoRecording(@NonNull View captureButton, private void hideAndDisableControlsForVideoRecording(@NonNull View captureButton,

View file

@ -195,6 +195,8 @@ public class TextSecurePreferences {
private static final String HAS_SEEN_SWIPE_TO_REPLY = "pref_has_seen_swipe_to_reply"; private static final String HAS_SEEN_SWIPE_TO_REPLY = "pref_has_seen_swipe_to_reply";
private static final String HAS_SEEN_VIDEO_RECORDING_TOOLTIP = "camerax.fragment.has.dismissed.video.recording.tooltip";
public static boolean isScreenLockEnabled(@NonNull Context context) { public static boolean isScreenLockEnabled(@NonNull Context context) {
return getBooleanPreference(context, SCREEN_LOCK, false); return getBooleanPreference(context, SCREEN_LOCK, false);
} }
@ -1158,6 +1160,14 @@ public class TextSecurePreferences {
setBooleanPreference(context, HAS_SEEN_SWIPE_TO_REPLY, value); setBooleanPreference(context, HAS_SEEN_SWIPE_TO_REPLY, value);
} }
public static boolean hasSeenVideoRecordingTooltip(Context context) {
return getBooleanPreference(context, HAS_SEEN_VIDEO_RECORDING_TOOLTIP, false);
}
public static void setHasSeenVideoRecordingTooltip(Context context, boolean value) {
setBooleanPreference(context, HAS_SEEN_VIDEO_RECORDING_TOOLTIP, value);
}
public static void setBooleanPreference(Context context, String key, boolean value) { public static void setBooleanPreference(Context context, String key, boolean value) {
PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(key, value).apply(); PreferenceManager.getDefaultSharedPreferences(context).edit().putBoolean(key, value).apply();
} }