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**?