diff --git a/TMessagesProj/src/main/java/com/exteragram/messenger/ExteraConfig.java b/TMessagesProj/src/main/java/com/exteragram/messenger/ExteraConfig.java index de24eeb82..1bcdd8253 100644 --- a/TMessagesProj/src/main/java/com/exteragram/messenger/ExteraConfig.java +++ b/TMessagesProj/src/main/java/com/exteragram/messenger/ExteraConfig.java @@ -33,6 +33,7 @@ public class ExteraConfig { public static boolean rearVideoMessages; public static boolean pauseOnMinimize; + public static boolean disablePlayback; private static boolean configLoaded; @@ -66,7 +67,8 @@ public class ExteraConfig { dateOfForwardedMsg = preferences.getBoolean("dateOfForwardedMsg", false); rearVideoMessages = preferences.getBoolean("rearVideoMessages", false); - pauseOnMinimize = preferences.getBoolean("pauseOnMinimize", false); + pauseOnMinimize = preferences.getBoolean("pauseOnMinimize", true); + disablePlayback = preferences.getBoolean("disablePlayback", true); configLoaded = true; } @@ -191,4 +193,11 @@ public class ExteraConfig { editor.putBoolean("pauseOnMinimize", pauseOnMinimize); editor.commit(); } + public static void toggleDisablePlayback() { + disablePlayback = !disablePlayback; + SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("exteraconfig", Activity.MODE_PRIVATE); + SharedPreferences.Editor editor = preferences.edit(); + editor.putBoolean("disablePlayback", disablePlayback); + editor.commit(); + } } diff --git a/TMessagesProj/src/main/java/com/exteragram/messenger/preferences/ChatsPreferencesEntry.java b/TMessagesProj/src/main/java/com/exteragram/messenger/preferences/ChatsPreferencesEntry.java index 633c0d460..309777469 100644 --- a/TMessagesProj/src/main/java/com/exteragram/messenger/preferences/ChatsPreferencesEntry.java +++ b/TMessagesProj/src/main/java/com/exteragram/messenger/preferences/ChatsPreferencesEntry.java @@ -56,6 +56,7 @@ public class ChatsPreferencesEntry extends BaseFragment { private int mediaHeaderRow; private int rearVideoMessagesRow; private int pauseOnMinimizeRow; + private int disablePlaybackRow; private int mediaDividerRow; private UndoView restartTooltip; @@ -189,6 +190,11 @@ public class ChatsPreferencesEntry extends BaseFragment { if (view instanceof TextCheckCell) { ((TextCheckCell) view).setChecked(ExteraConfig.pauseOnMinimize); } + } else if (position == disablePlaybackRow) { + ExteraConfig.toggleDisablePlayback(); + if (view instanceof TextCheckCell) { + ((TextCheckCell) view).setChecked(ExteraConfig.disablePlayback); + } } }); restartTooltip = new UndoView(context); @@ -216,6 +222,7 @@ public class ChatsPreferencesEntry extends BaseFragment { mediaHeaderRow = rowCount++; rearVideoMessagesRow = rowCount++; pauseOnMinimizeRow = rowCount++; + disablePlaybackRow = rowCount++; mediaDividerRow = rowCount++; if (listAdapter != null && notify) { @@ -277,6 +284,8 @@ public class ChatsPreferencesEntry extends BaseFragment { textCheckCell.setTextAndCheck(LocaleController.getString("RearVideoMessages", R.string.RearVideoMessages), ExteraConfig.rearVideoMessages, true); } else if (position == pauseOnMinimizeRow) { textCheckCell.setTextAndValueAndCheck(LocaleController.getString("PauseOnMinimize", R.string.PauseOnMinimize), LocaleController.getString("POMDescription", R.string.POMDescription), ExteraConfig.pauseOnMinimize, true, true); + } else if (position == disablePlaybackRow) { + textCheckCell.setTextAndValueAndCheck(LocaleController.getString("DisablePlayback", R.string.DisablePlayback), LocaleController.getString("DPDescription", R.string.DPDescription), ExteraConfig.disablePlayback, true, true); } break; } @@ -321,7 +330,7 @@ public class ChatsPreferencesEntry extends BaseFragment { return 2; } else if (position == hideStickerTimeRow || position == hideSendAsChannelRow || position == hideKeyboardOnScrollRow || position == archiveOnPullRow || position == dateOfForwardedMsgRow || position == rearVideoMessagesRow || - position == pauseOnMinimizeRow) { + position == pauseOnMinimizeRow || position == disablePlaybackRow) { return 3; } else if (position == stickerSizeRow) { return 4; diff --git a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java index d43d0a2b9..2a6edc00e 100644 --- a/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java +++ b/TMessagesProj/src/main/java/org/telegram/ui/LaunchActivity.java @@ -166,6 +166,8 @@ import java.util.List; import java.util.Set; import java.util.regex.Pattern; +import com.exteragram.messenger.ExteraConfig; + public class LaunchActivity extends BasePermissionsActivity implements ActionBarLayout.ActionBarLayoutDelegate, NotificationCenter.NotificationCenterDelegate, DialogsActivity.DialogsActivityDelegate { private static final String EXTRA_ACTION_TOKEN = "actions.fulfillment.extra.ACTION_TOKEN"; @@ -5445,7 +5447,7 @@ public class LaunchActivity extends BasePermissionsActivity implements ActionBar showVoiceChatTooltip(mute ? UndoView.ACTION_VOIP_SOUND_MUTED : UndoView.ACTION_VOIP_SOUND_UNMUTED); } } - } else if (!mainFragmentsStack.isEmpty() && (!PhotoViewer.hasInstance() || !PhotoViewer.getInstance().isVisible()) && event.getRepeatCount() == 0) { + } else if (!ExteraConfig.disablePlayback && (!PhotoViewer.hasInstance() || !PhotoViewer.getInstance().isVisible()) && event.getRepeatCount() == 0) { BaseFragment fragment = mainFragmentsStack.get(mainFragmentsStack.size() - 1); if (fragment instanceof ChatActivity) { if (((ChatActivity) fragment).maybePlayVisibleVideo()) { diff --git a/TMessagesProj/src/main/res/values/extera.xml b/TMessagesProj/src/main/res/values/extera.xml index 6ca9e064f..35e6f1a64 100644 --- a/TMessagesProj/src/main/res/values/extera.xml +++ b/TMessagesProj/src/main/res/values/extera.xml @@ -45,6 +45,8 @@ Rear Camera in Video Messages Autopause Pauses a video playback when device is locked or exteraGram is minimized + Disable playback + Disables playback when volume button is pressed Confirm call Call to **%1$s**?