Revert "Removed beta setting for ephemeral chat messages feature"
This reverts commit 8844c732c1
.
This commit is contained in:
parent
8844c732c1
commit
7e551ba6b4
5 changed files with 42 additions and 1 deletions
|
@ -14,7 +14,6 @@ Group changes to describe their impact on the project, as follows:
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- Forward message between chat rooms
|
- Forward message between chat rooms
|
||||||
- Ephemeral messages (auto destroy after a given timeout once read) for encrypted chat rooms
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Files from chat messages are now stored in a private space and will be deleted when the message or room will be deleted
|
- Files from chat messages are now stored in a private space and will be deleted when the message or room will be deleted
|
||||||
|
|
|
@ -1124,6 +1124,10 @@ public class ChatMessagesFragment extends Fragment
|
||||||
if (!mChatRoom.hasCapability(ChatRoomCapabilities.Encrypted.toInt())) {
|
if (!mChatRoom.hasCapability(ChatRoomCapabilities.Encrypted.toInt())) {
|
||||||
builder.removeItem(R.id.chat_room_participants_devices);
|
builder.removeItem(R.id.chat_room_participants_devices);
|
||||||
builder.removeItem(R.id.chat_room_ephemeral_messages);
|
builder.removeItem(R.id.chat_room_ephemeral_messages);
|
||||||
|
} else {
|
||||||
|
if (!LinphonePreferences.instance().isEphemeralMessagesEnabled()) {
|
||||||
|
builder.removeItem(R.id.chat_room_ephemeral_messages);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.setCallback(
|
builder.setCallback(
|
||||||
|
|
|
@ -29,7 +29,9 @@ import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
|
import org.linphone.core.ChatRoom;
|
||||||
import org.linphone.core.tools.Log;
|
import org.linphone.core.tools.Log;
|
||||||
import org.linphone.mediastream.Version;
|
import org.linphone.mediastream.Version;
|
||||||
import org.linphone.settings.widget.BasicSetting;
|
import org.linphone.settings.widget.BasicSetting;
|
||||||
|
@ -45,6 +47,7 @@ public class ChatSettingsFragment extends SettingsFragment {
|
||||||
private BasicSetting mAndroidNotificationSettings;
|
private BasicSetting mAndroidNotificationSettings;
|
||||||
private ListSetting mAutoDownloadIncomingFilesPolicy;
|
private ListSetting mAutoDownloadIncomingFilesPolicy;
|
||||||
private SwitchSetting mHideEmptyRooms, mHideRemovedProxiesRooms, mMakeDownloadedImagesPublic;
|
private SwitchSetting mHideEmptyRooms, mHideRemovedProxiesRooms, mMakeDownloadedImagesPublic;
|
||||||
|
private SwitchSetting mEnableEphemeralBeta;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
|
@ -85,6 +88,9 @@ public class ChatSettingsFragment extends SettingsFragment {
|
||||||
|
|
||||||
mHideRemovedProxiesRooms =
|
mHideRemovedProxiesRooms =
|
||||||
mRootView.findViewById(R.id.pref_android_app_hide_chat_rooms_from_removed_proxies);
|
mRootView.findViewById(R.id.pref_android_app_hide_chat_rooms_from_removed_proxies);
|
||||||
|
|
||||||
|
mEnableEphemeralBeta =
|
||||||
|
mRootView.findViewById(R.id.pref_android_app_enable_ephemeral_messages_beta);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setListeners() {
|
private void setListeners() {
|
||||||
|
@ -166,6 +172,19 @@ public class ChatSettingsFragment extends SettingsFragment {
|
||||||
LinphonePreferences.instance().setHideRemovedProxiesChatRooms(newValue);
|
LinphonePreferences.instance().setHideRemovedProxiesChatRooms(newValue);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
mEnableEphemeralBeta.setListener(
|
||||||
|
new SettingListenerBase() {
|
||||||
|
@Override
|
||||||
|
public void onBoolValueChanged(boolean newValue) {
|
||||||
|
LinphonePreferences.instance().enableEphemeralMessages(newValue);
|
||||||
|
if (!newValue) {
|
||||||
|
for (ChatRoom room : LinphoneManager.getCore().getChatRooms()) {
|
||||||
|
room.enableEphemeral(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateValues() {
|
private void updateValues() {
|
||||||
|
@ -184,6 +203,9 @@ public class ChatSettingsFragment extends SettingsFragment {
|
||||||
mHideRemovedProxiesRooms.setChecked(
|
mHideRemovedProxiesRooms.setChecked(
|
||||||
LinphonePreferences.instance().hideRemovedProxiesChatRooms());
|
LinphonePreferences.instance().hideRemovedProxiesChatRooms());
|
||||||
|
|
||||||
|
mEnableEphemeralBeta.setChecked(
|
||||||
|
LinphonePreferences.instance().isEphemeralMessagesEnabled());
|
||||||
|
|
||||||
setListeners();
|
setListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1312,4 +1312,14 @@ public class LinphonePreferences {
|
||||||
if (getConfig() == null) return;
|
if (getConfig() == null) return;
|
||||||
getConfig().setBool("misc", "hide_chat_rooms_from_removed_proxies", hide);
|
getConfig().setBool("misc", "hide_chat_rooms_from_removed_proxies", hide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void enableEphemeralMessages(boolean enable) {
|
||||||
|
if (getConfig() == null) return;
|
||||||
|
getConfig().setBool("app", "ephemeral", enable);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEphemeralMessagesEnabled() {
|
||||||
|
if (getConfig() == null) return true;
|
||||||
|
return getConfig().getBool("app", "ephemeral", false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,12 @@
|
||||||
linphone:title="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_title"
|
linphone:title="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_title"
|
||||||
linphone:subtitle="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_desc" />
|
linphone:subtitle="@string/pref_android_app_hide_chat_rooms_from_removed_proxies_desc" />
|
||||||
|
|
||||||
|
<org.linphone.settings.widget.SwitchSetting
|
||||||
|
android:id="@+id/pref_android_app_enable_ephemeral_messages_beta"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
linphone:title="@string/pref_android_app_enable_ephemeral_messages_beta" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
Loading…
Reference in a new issue