diff --git a/CHANGES.rst b/CHANGES.rst
index eb8a2bb6a3..08a32f03fa 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -9,6 +9,7 @@ Features:
Improvements:
- Minor changes to toolbar style and other UI elements (#2529)
+ - Improvements to dialogs, video messages, and the previewer activity (#2583)
Other changes:
-
diff --git a/vector/src/main/assets/open_source_licenses.html b/vector/src/main/assets/open_source_licenses.html
index 022a81f6b7..460b51742c 100755
--- a/vector/src/main/assets/open_source_licenses.html
+++ b/vector/src/main/assets/open_source_licenses.html
@@ -2,16 +2,32 @@
+
+
Riot Android
+
Third Party Licenses
+
-
Pristine libjingle
diff --git a/vector/src/main/java/im/vector/UnrecognizedCertHandler.java b/vector/src/main/java/im/vector/UnrecognizedCertHandler.java
index 8e64e6b232..86e4de1007 100644
--- a/vector/src/main/java/im/vector/UnrecognizedCertHandler.java
+++ b/vector/src/main/java/im/vector/UnrecognizedCertHandler.java
@@ -97,7 +97,7 @@ public static void show(final HomeServerConnectionConfig hsConfig, final Fingerp
LayoutInflater inflater = activity.getLayoutInflater();
- View layout = inflater.inflate(R.layout.ssl_fingerprint_prompt, null);
+ View layout = inflater.inflate(R.layout.dialog_ssl_fingerprint, null);
TextView sslFingerprintTitle = layout.findViewById(R.id.ssl_fingerprint_title);
sslFingerprintTitle.setText(
diff --git a/vector/src/main/java/im/vector/activity/CommonActivityUtils.java b/vector/src/main/java/im/vector/activity/CommonActivityUtils.java
index 2bc7cd93b5..06c3165f1a 100755
--- a/vector/src/main/java/im/vector/activity/CommonActivityUtils.java
+++ b/vector/src/main/java/im/vector/activity/CommonActivityUtils.java
@@ -24,7 +24,6 @@
import android.app.AlarmManager;
import android.app.DownloadManager;
import android.app.PendingIntent;
-import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -1421,7 +1420,7 @@ static public void displayDeviceVerificationDialog(final MXDeviceInfo device
AlertDialog.Builder builder = new AlertDialog.Builder(activiy);
LayoutInflater inflater = activiy.getLayoutInflater();
- View layout = inflater.inflate(R.layout.encrypted_verify_device, null);
+ View layout = inflater.inflate(R.layout.dialog_device_verify, null);
TextView textView;
@@ -1435,9 +1434,9 @@ static public void displayDeviceVerificationDialog(final MXDeviceInfo device
textView.setText(MatrixSdkExtensionsKt.getFingerprintHumanReadable(deviceInfo));
builder
- .setView(layout)
.setTitle(R.string.encryption_information_verify_device)
- .setPositiveButton(R.string.encryption_information_verify_key_match, new DialogInterface.OnClickListener() {
+ .setView(layout)
+ .setPositiveButton(R.string.encryption_information_verify, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
session.getCrypto().setDeviceVerification(MXDeviceInfo.DEVICE_VERIFICATION_VERIFIED, deviceInfo.deviceId, sender, callback);
diff --git a/vector/src/main/java/im/vector/activity/MediaPreviewerActivity.java b/vector/src/main/java/im/vector/activity/MediaPreviewerActivity.java
index a2cbcbb078..aebb789440 100644
--- a/vector/src/main/java/im/vector/activity/MediaPreviewerActivity.java
+++ b/vector/src/main/java/im/vector/activity/MediaPreviewerActivity.java
@@ -13,6 +13,7 @@
import android.widget.VideoView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.request.RequestOptions;
import org.jetbrains.annotations.NotNull;
import org.matrix.androidsdk.data.RoomMediaMessage;
@@ -44,10 +45,14 @@ public class MediaPreviewerActivity extends MXCActionBarActivity implements Medi
ImageView mPreviewerImageView;
@BindView(R.id.media_previewer_video_view)
VideoView mPreviewerVideoView;
+ @BindView(R.id.media_previewer_video_thumbnail)
+ ImageView mPreviewerVideoThumbnail;
@BindView(R.id.media_previewer_list)
RecyclerView mPreviewerRecyclerView;
@BindView(R.id.media_previewer_file_name)
TextView mFileNameView;
+ @BindView(R.id.media_previewer_video_play)
+ ImageView mPlayCircleView;
@Override
@@ -80,6 +85,13 @@ public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
+ mPlayCircleView.setOnTouchListener(new View.OnTouchListener() {
+ @Override
+ public boolean onTouch(View v, MotionEvent event) {
+ onVideoPreviewClicked();
+ return false;
+ }
+ });
configureToolbar();
final String roomTitle = getIntent().getExtras().getString(EXTRA_ROOM_TITLE);
getSupportActionBar().setTitle(roomTitle);
@@ -112,22 +124,32 @@ private void updatePreview(final RoomMediaMessage roomMediaMessage) {
mFileNameView.setText(roomMediaMessage.getFileName(this));
final String mimeType = roomMediaMessage.getMimeType(this);
final Uri uri = roomMediaMessage.getUri();
+
if (mimeType != null) {
if (mimeType.startsWith("image")) {
mPreviewerImageView.setVisibility(View.VISIBLE);
mPreviewerVideoView.setVisibility(View.GONE);
+ mPreviewerVideoThumbnail.setVisibility(View.GONE);
+ mPlayCircleView.setVisibility(View.GONE);
Glide.with(this)
- .asBitmap()
.load(uri)
+ .apply(new RequestOptions().fitCenter())
.into(mPreviewerImageView);
} else if (mimeType.startsWith("video")) {
mPreviewerImageView.setVisibility(View.GONE);
- mPreviewerVideoView.setVisibility(View.VISIBLE);
+ mPreviewerVideoView.setVisibility(View.GONE);
+ mPreviewerVideoThumbnail.setVisibility(View.VISIBLE);
+ mPlayCircleView.setVisibility(View.VISIBLE);
+ Glide.with(this)
+ .load(uri)
+ .apply(new RequestOptions().fitCenter().frame(0))
+ .into(mPreviewerVideoThumbnail);
mPreviewerVideoView.setVideoURI(uri);
mPreviewerVideoView.seekTo(0);
} else {
mPreviewerImageView.setVisibility(View.VISIBLE);
mPreviewerVideoView.setVisibility(View.GONE);
+ mPreviewerVideoThumbnail.setVisibility(View.GONE);
mPreviewerImageView.setImageResource(R.drawable.filetype_attachment);
}
}
@@ -154,8 +176,14 @@ private List getSharedItems() {
private void onVideoPreviewClicked() {
if (!mPreviewerVideoView.isPlaying()) {
+ mPreviewerVideoView.setVisibility(View.VISIBLE);
+ mPreviewerVideoThumbnail.setVisibility(View.GONE);
+ mPlayCircleView.setVisibility(View.GONE);
mPreviewerVideoView.start();
} else {
+ mPreviewerVideoThumbnail.setVisibility(View.VISIBLE);
+ mPlayCircleView.setVisibility(View.VISIBLE);
+ mPreviewerVideoView.setVisibility(View.GONE);
mPreviewerVideoView.pause();
}
}
diff --git a/vector/src/main/java/im/vector/activity/VectorHomeActivity.java b/vector/src/main/java/im/vector/activity/VectorHomeActivity.java
index cf41cde74a..dff510f7c1 100644
--- a/vector/src/main/java/im/vector/activity/VectorHomeActivity.java
+++ b/vector/src/main/java/im/vector/activity/VectorHomeActivity.java
@@ -1448,14 +1448,18 @@ public void onUnexpectedError(final Exception e) {
*/
private void joinARoom() {
LayoutInflater inflater = LayoutInflater.from(this);
-
- AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
View dialogView = inflater.inflate(R.layout.dialog_join_room_by_id, null);
- alertDialogBuilder.setView(dialogView);
final EditText textInput = dialogView.findViewById(R.id.join_room_edit_text);
textInput.setTextColor(ThemeUtils.INSTANCE.getColor(this, R.attr.riot_primary_text_color));
+ AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
+
+ // set dialog layout
+ alertDialogBuilder
+ .setTitle(R.string.room_recents_join_room_title)
+ .setView(dialogView);
+
// set dialog message
AlertDialog alertDialog = alertDialogBuilder
.setCancelable(false)
@@ -1514,7 +1518,6 @@ public void onUnexpectedError(final Exception e) {
.show();
final Button joinButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
-
if (null != joinButton) {
joinButton.setEnabled(false);
textInput.addTextChangedListener(new TextWatcher() {
diff --git a/vector/src/main/java/im/vector/activity/VectorMediasViewerActivity.java b/vector/src/main/java/im/vector/activity/VectorMediasViewerActivity.java
index 6b9cdb7b3f..78b50d6fff 100755
--- a/vector/src/main/java/im/vector/activity/VectorMediasViewerActivity.java
+++ b/vector/src/main/java/im/vector/activity/VectorMediasViewerActivity.java
@@ -286,7 +286,10 @@ public void onSuccess(String savedMediaPath) {
} else {
// else download it
final String downloadId = mediasCache.downloadMedia(this,
- mSession.getHomeServerConfig(), mediaInfo.mMediaUrl, mediaInfo.mMimeType, mediaInfo.mEncryptedFileInfo);
+ mSession.getHomeServerConfig(),
+ mediaInfo.mMediaUrl,
+ mediaInfo.mMimeType,
+ mediaInfo.mEncryptedFileInfo);
if (null != downloadId) {
mediasCache.addDownloadListener(downloadId, new MXMediaDownloadListener() {
diff --git a/vector/src/main/java/im/vector/activity/VectorRoomActivity.java b/vector/src/main/java/im/vector/activity/VectorRoomActivity.java
index fdd4df9522..89ada46511 100755
--- a/vector/src/main/java/im/vector/activity/VectorRoomActivity.java
+++ b/vector/src/main/java/im/vector/activity/VectorRoomActivity.java
@@ -3615,16 +3615,14 @@ private void onRoomTitleClick() {
}
LayoutInflater inflater = LayoutInflater.from(this);
+ View dialogView = inflater.inflate(R.layout.dialog_base_edit_text, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
+ alertDialogBuilder
+ .setTitle(R.string.room_info_room_name)
+ .setView(dialogView);
- View dialogView = inflater.inflate(R.layout.dialog_text_edittext, null);
- alertDialogBuilder.setView(dialogView);
-
- TextView titleText = dialogView.findViewById(R.id.dialog_title);
- titleText.setText(R.string.room_info_room_name);
-
- final EditText textInput = dialogView.findViewById(R.id.dialog_edit_text);
+ final EditText textInput = dialogView.findViewById(R.id.edit_text);
textInput.setText(mRoom.getState().name);
// set dialog message
@@ -3682,16 +3680,14 @@ private void onRoomTopicClick() {
}
LayoutInflater inflater = LayoutInflater.from(this);
+ View dialogView = inflater.inflate(R.layout.dialog_base_edit_text, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
+ alertDialogBuilder
+ .setTitle(R.string.room_info_room_topic)
+ .setView(dialogView);
- View dialogView = inflater.inflate(R.layout.dialog_text_edittext, null);
- alertDialogBuilder.setView(dialogView);
-
- TextView titleText = dialogView.findViewById(R.id.dialog_title);
- titleText.setText(R.string.room_info_room_topic);
-
- final EditText textInput = dialogView.findViewById(R.id.dialog_edit_text);
+ final EditText textInput = dialogView.findViewById(R.id.edit_text);
textInput.setText(mRoom.getState().topic);
// set dialog message
diff --git a/vector/src/main/java/im/vector/adapters/MediaPreviewAdapter.java b/vector/src/main/java/im/vector/adapters/MediaPreviewAdapter.java
index 09ab5cd3a5..6b71e26bc2 100644
--- a/vector/src/main/java/im/vector/adapters/MediaPreviewAdapter.java
+++ b/vector/src/main/java/im/vector/adapters/MediaPreviewAdapter.java
@@ -61,11 +61,10 @@ public void onBindViewHolder(@NonNull MediaItemViewHolder holder, int position)
final Uri uri = roomMediaMessage.getUri();
if (mimeType != null) {
if (mimeType.startsWith("image") || mimeType.startsWith("video")) {
- final RequestOptions options = new RequestOptions().frame(0);
Glide.with(context)
.asBitmap()
.load(uri)
- .apply(options)
+ .apply(new RequestOptions().frame(0))
.into(holder.mImagePreview);
} else {
holder.mImagePreview.setImageResource(R.drawable.filetype_attachment);
diff --git a/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java b/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java
index f5f256ce3d..3a7319bb40 100755
--- a/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java
+++ b/vector/src/main/java/im/vector/adapters/VectorMediasViewerAdapter.java
@@ -213,6 +213,7 @@ private void downloadVideo(final View view, final int position, boolean force) {
final VideoView videoView = view.findViewById(R.id.media_slider_video_view);
final ImageView thumbView = view.findViewById(R.id.media_slider_video_thumbnail);
final PieFractionView pieFractionView = view.findViewById(R.id.media_slider_pie_view);
+ final ImageView playCircleView = view.findViewById(R.id.media_slider_video_play);
final View downloadFailedView = view.findViewById(R.id.media_download_failed);
final SlidableMediaInfo mediaInfo = mMediasMessagesList.get(position);
@@ -249,6 +250,7 @@ public void onSuccess(File file) {
if (null != downloadId) {
pieFractionView.setVisibility(View.VISIBLE);
+ playCircleView.setVisibility(View.GONE);
pieFractionView.setFraction(mMediasCache.getProgressValueForDownloadId(downloadId));
pieFractionView.setTag(downloadId);
@@ -256,13 +258,13 @@ public void onSuccess(File file) {
@Override
public void onDownloadError(String downloadId, JsonElement jsonElement) {
- MatrixError error = JsonUtils.toMatrixError(jsonElement);
+ pieFractionView.setVisibility(View.GONE);
+ downloadFailedView.setVisibility(View.VISIBLE);
+ MatrixError error = JsonUtils.toMatrixError(jsonElement);
if ((null != error) && error.isSupportedErrorCode()) {
Toast.makeText(mContext, error.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
-
- downloadFailedView.setVisibility(View.VISIBLE);
}
@Override
@@ -276,9 +278,9 @@ public void onDownloadProgress(String aDownloadId, DownloadStats stats) {
public void onDownloadComplete(String aDownloadId) {
if (aDownloadId.equals(pieFractionView.getTag())) {
pieFractionView.setVisibility(View.GONE);
-
// check if the media has been downloaded
if (mMediasCache.isMediaCached(loadingUri, mediaInfo.mMimeType)) {
+ playCircleView.setVisibility(View.VISIBLE);
mMediasCache.createTmpDecryptedMediaFile(loadingUri, mediaInfo.mMimeType, mediaInfo.mEncryptedFileInfo,
new SimpleApiCallback() {
@Override
@@ -345,14 +347,12 @@ private void downloadHighResImage(final View view, final int position) {
public void onDownloadError(String aDownloadId, JsonElement jsonElement) {
if (aDownloadId.equals(downloadId)) {
pieFractionView.setVisibility(View.GONE);
+ downloadFailedView.setVisibility(View.VISIBLE);
MatrixError error = JsonUtils.toMatrixError(jsonElement);
-
if (null != error) {
Toast.makeText(mContext, error.getLocalizedMessage(), Toast.LENGTH_LONG).show();
}
-
- downloadFailedView.setVisibility(View.VISIBLE);
}
}
@@ -367,7 +367,6 @@ public void onDownloadProgress(String aDownloadId, DownloadStats stats) {
public void onDownloadComplete(String aDownloadId) {
if (aDownloadId.equals(downloadId)) {
pieFractionView.setVisibility(View.GONE);
-
if (mMediasCache.isMediaCached(loadingUri, imageInfo.mMimeType)) {
mMediasCache.createTmpDecryptedMediaFile(loadingUri, imageInfo.mMimeType, imageInfo.mEncryptedFileInfo,
new SimpleApiCallback() {
diff --git a/vector/src/main/java/im/vector/adapters/VectorMessagesAdapter.java b/vector/src/main/java/im/vector/adapters/VectorMessagesAdapter.java
index fbe21919eb..cc6276cf24 100755
--- a/vector/src/main/java/im/vector/adapters/VectorMessagesAdapter.java
+++ b/vector/src/main/java/im/vector/adapters/VectorMessagesAdapter.java
@@ -1430,43 +1430,30 @@ private View getImageVideoView(int type, final int position, View convertView, V
Event event = row.getEvent();
Message message = null;
- int waterMarkResourceId = -1;
-
+ boolean videoContent = false;
if (type == ROW_TYPE_IMAGE) {
-
ImageMessage imageMessage = JsonUtils.toImageMessage(event.getContent());
-
- if ("image/gif".equals(imageMessage.getMimeType())) {
- waterMarkResourceId = R.drawable.filetype_gif;
+ if (imageMessage.getMimeType().equals("image/gif")) {
+ videoContent = true;
}
message = imageMessage;
-
} else if (type == ROW_TYPE_VIDEO) {
-
+ videoContent = true;
message = JsonUtils.toVideoMessage(event.getContent());
- waterMarkResourceId = R.drawable.filetype_video;
-
} else if (type == ROW_TYPE_STICKER) {
-
StickerMessage stickerMessage = JsonUtils.toStickerMessage(event.getContent());
message = stickerMessage;
}
- // display a type watermark
- final ImageView imageTypeView = convertView.findViewById(R.id.messagesAdapter_image_type);
-
- if (null == imageTypeView) {
+ // display a play icon for video content
+ final ImageView playCircleView = convertView.findViewById(R.id.messagesAdapter_play_circle);
+ if (null == playCircleView) {
Log.e(LOG_TAG, "getImageVideoView : invalid layout");
return convertView;
}
-
- imageTypeView.setBackgroundColor(Color.TRANSPARENT);
-
- if (waterMarkResourceId > 0) {
- imageTypeView.setImageBitmap(BitmapFactory.decodeResource(getContext().getResources(), waterMarkResourceId));
- imageTypeView.setVisibility(View.VISIBLE);
- } else {
- imageTypeView.setVisibility(View.GONE);
+ playCircleView.setVisibility(View.GONE);
+ if (videoContent) {
+ playCircleView.setVisibility(View.VISIBLE);
}
if (null != message) {
@@ -2193,7 +2180,7 @@ private void displayE2eIcon(View inflatedView, int position) {
int type = getItemViewType(position);
- if ((type == ROW_TYPE_IMAGE) || (type == ROW_TYPE_VIDEO)) {
+ if ((type == ROW_TYPE_IMAGE) || (type == ROW_TYPE_VIDEO) || (type == ROW_TYPE_STICKER)) {
View bodyLayoutView = inflatedView.findViewById(R.id.messagesAdapter_body_layout);
ViewGroup.MarginLayoutParams bodyLayout = (ViewGroup.MarginLayoutParams) bodyLayoutView.getLayoutParams();
ViewGroup.MarginLayoutParams e2eIconViewLayout = (ViewGroup.MarginLayoutParams) e2eIconView.getLayoutParams();
diff --git a/vector/src/main/java/im/vector/adapters/VectorMessagesAdapterMediasHelper.java b/vector/src/main/java/im/vector/adapters/VectorMessagesAdapterMediasHelper.java
index 354733e9ae..14162cd817 100755
--- a/vector/src/main/java/im/vector/adapters/VectorMessagesAdapterMediasHelper.java
+++ b/vector/src/main/java/im/vector/adapters/VectorMessagesAdapterMediasHelper.java
@@ -235,7 +235,7 @@ void managePendingImageVideoDownload(final View convertView, final Event event,
orientation = imageInfo.orientation;
}
}
- } else if (message instanceof VideoMessage){ // video
+ } else if (message instanceof VideoMessage) {
VideoMessage videoMessage = (VideoMessage) message;
videoMessage.checkMediaUrls();
diff --git a/vector/src/main/java/im/vector/fragments/ImageSizeSelectionDialogFragment.java b/vector/src/main/java/im/vector/fragments/ImageSizeSelectionDialogFragment.java
index 9bfba5c710..416076fe71 100755
--- a/vector/src/main/java/im/vector/fragments/ImageSizeSelectionDialogFragment.java
+++ b/vector/src/main/java/im/vector/fragments/ImageSizeSelectionDialogFragment.java
@@ -89,19 +89,18 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
- View v = inflater.inflate(R.layout.fragment_dialog_accounts_list, container, false);
- ListView listView = v.findViewById(R.id.listView_accounts);
+ View v = inflater.inflate(R.layout.dialog_base_list_view, container, false);
+ ListView listView = v.findViewById(R.id.list_view);
ImageSizesAdapter adapter = new ImageSizesAdapter(getActivity(), R.layout.adapter_item_image_size);
if (null != mEntries) {
adapter.addAll(mEntries);
}
- listView.setAdapter(adapter);
+ listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
diff --git a/vector/src/main/java/im/vector/fragments/VectorMessageListFragment.java b/vector/src/main/java/im/vector/fragments/VectorMessageListFragment.java
index ef24ef42ea..a55732a873 100755
--- a/vector/src/main/java/im/vector/fragments/VectorMessageListFragment.java
+++ b/vector/src/main/java/im/vector/fragments/VectorMessageListFragment.java
@@ -400,7 +400,7 @@ public void onE2eIconClick(final Event event, final MXDeviceInfo deviceInfo) {
EncryptedEventContent encryptedEventContent = JsonUtils.toEncryptedEventContent(event.getWireContent().getAsJsonObject());
- View layout = inflater.inflate(R.layout.encrypted_event_info, null);
+ View layout = inflater.inflate(R.layout.dialog_encryption_info, null);
TextView textView;
diff --git a/vector/src/main/java/im/vector/fragments/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/fragments/VectorSettingsPreferencesFragment.kt
index 482fff4378..4946566097 100755
--- a/vector/src/main/java/im/vector/fragments/VectorSettingsPreferencesFragment.kt
+++ b/vector/src/main/java/im/vector/fragments/VectorSettingsPreferencesFragment.kt
@@ -977,15 +977,15 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
*/
private fun onPasswordUpdateClick() {
activity.runOnUiThread {
- val view = activity.layoutInflater.inflate(R.layout.fragment_dialog_change_password, null)
+ val view = activity.layoutInflater.inflate(R.layout.dialog_change_password, null)
val oldPasswordText = view.findViewById(R.id.change_password_old_pwd_text)
val newPasswordText = view.findViewById(R.id.change_password_new_pwd_text)
val confirmNewPasswordText = view.findViewById(R.id.change_password_confirm_new_pwd_text)
val dialog = AlertDialog.Builder(activity)
- .setView(view)
.setTitle(R.string.settings_change_password)
+ .setView(view)
.setPositiveButton(R.string.save) { dialog, which ->
if (null != activity) {
val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
@@ -1885,8 +1885,7 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
private fun displayTextSizeSelection(activity: Activity) {
val inflater = activity.layoutInflater
-
- val layout = inflater.inflate(R.layout.text_size_selection, null)
+ val layout = inflater.inflate(R.layout.dialog_select_text_size, null)
val dialog = AlertDialog.Builder(activity)
.setTitle(R.string.font_size)
@@ -1899,7 +1898,7 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
val childCount = linearLayout.childCount
- val scaleText = FontScale.getFontScalePrefValue()
+ val scaleText = FontScale.getFontScaleDescription()
for (i in 0 until childCount) {
val v = linearLayout.getChildAt(i)
@@ -2232,7 +2231,7 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
private fun displayDeviceDetailsDialog(aDeviceInfo: DeviceInfo?) {
val builder = AlertDialog.Builder(activity)
val inflater = activity.layoutInflater
- val layout = inflater.inflate(R.layout.devices_details_settings, null)
+ val layout = inflater.inflate(R.layout.dialog_device_details, null)
if (null != aDeviceInfo) {
//device ID
@@ -2296,12 +2295,15 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
* @param aDeviceInfoToRename device info
*/
private fun displayDeviceRenameDialog(aDeviceInfoToRename: DeviceInfo) {
- val input = EditText(activity)
+ val inflater = activity.layoutInflater
+ val layout = inflater.inflate(R.layout.dialog_base_edit_text, null)
+
+ val input = layout.findViewById(R.id.edit_text)
input.setText(aDeviceInfoToRename.display_name)
AlertDialog.Builder(activity)
.setTitle(R.string.devices_details_device_name)
- .setView(input)
+ .setView(layout)
.setPositiveButton(R.string.ok) { dialog, which ->
displayLoadingView()
@@ -2388,14 +2390,13 @@ class VectorSettingsPreferencesFragment : PreferenceFragment(), SharedPreference
deleteDevice(aDeviceInfoToDelete.device_id)
} else {
val inflater = activity.layoutInflater
- val layout = inflater.inflate(R.layout.devices_settings_delete, null)
+ val layout = inflater.inflate(R.layout.dialog_device_delete, null)
val passwordEditText = layout.findViewById(R.id.delete_password)
AlertDialog.Builder(activity)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle(R.string.devices_delete_dialog_title)
.setView(layout)
-
.setPositiveButton(R.string.devices_delete_submit_button_label, DialogInterface.OnClickListener { dialog, which ->
if (TextUtils.isEmpty(passwordEditText.toString())) {
activity.applicationContext.toast(R.string.error_empty_field_your_password)
diff --git a/vector/src/main/java/im/vector/fragments/VectorUserGroupsDialogFragment.java b/vector/src/main/java/im/vector/fragments/VectorUserGroupsDialogFragment.java
index 6cf3b8ab3f..d498508588 100644
--- a/vector/src/main/java/im/vector/fragments/VectorUserGroupsDialogFragment.java
+++ b/vector/src/main/java/im/vector/fragments/VectorUserGroupsDialogFragment.java
@@ -75,8 +75,7 @@ public void onCreate(Bundle savedInstanceState) {
}
@Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View v = inflater.inflate(R.layout.fragment_dialog_groups_list, container, false);
ListView listView = v.findViewById(R.id.listView_groups);
diff --git a/vector/src/main/java/im/vector/util/ExternalApplicationsUtil.kt b/vector/src/main/java/im/vector/util/ExternalApplicationsUtil.kt
index 87485e1428..a6321e2c86 100644
--- a/vector/src/main/java/im/vector/util/ExternalApplicationsUtil.kt
+++ b/vector/src/main/java/im/vector/util/ExternalApplicationsUtil.kt
@@ -84,18 +84,12 @@ fun openFileSelection(activity: Activity,
fragment: Fragment?,
allowMultipleSelection: Boolean,
requestCode: Int) {
- val fileIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
- Intent(Intent.ACTION_OPEN_DOCUMENT)
- } else {
- Intent(Intent.ACTION_GET_CONTENT)
- }
-
+ val fileIntent = Intent(Intent.ACTION_GET_CONTENT)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
fileIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, allowMultipleSelection)
}
fileIntent.addCategory(Intent.CATEGORY_OPENABLE);
-
fileIntent.type = "*/*"
try {
@@ -240,4 +234,3 @@ fun openMedia(activity: Activity, savedMediaPath: String, mimeType: String) {
activity.toast(R.string.error_no_external_application_found)
}
}
-
diff --git a/vector/src/main/java/im/vector/util/VectorUtils.java b/vector/src/main/java/im/vector/util/VectorUtils.java
index fa52a05dd0..aea41f2ba3 100755
--- a/vector/src/main/java/im/vector/util/VectorUtils.java
+++ b/vector/src/main/java/im/vector/util/VectorUtils.java
@@ -18,11 +18,9 @@
package im.vector.util;
import android.annotation.SuppressLint;
-import android.app.Activity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
-import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -38,7 +36,6 @@
import android.support.v4.util.LruCache;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
-import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewParent;
import android.webkit.WebView;
@@ -55,7 +52,6 @@
import org.matrix.androidsdk.data.RoomState;
import org.matrix.androidsdk.db.MXMediasCache;
import org.matrix.androidsdk.rest.callback.ApiCallback;
-import org.matrix.androidsdk.rest.callback.SimpleApiCallback;
import org.matrix.androidsdk.rest.model.MatrixError;
import org.matrix.androidsdk.rest.model.RoomMember;
import org.matrix.androidsdk.rest.model.User;
@@ -686,8 +682,6 @@ public void run() {
// About / terms and conditions
//==============================================================================================================
- private static AlertDialog mMainAboutDialog = null;
-
/**
* Provide the application version
*
@@ -699,71 +693,14 @@ public static String getApplicationVersion(final Context context) {
}
/**
- * Display the licenses text.
- */
- public static void displayThirdPartyLicenses() {
- final Activity activity = VectorApp.getCurrentActivity();
-
- if (null != activity) {
- if (null != mMainAboutDialog) {
- if (mMainAboutDialog.isShowing() && (null != mMainAboutDialog.getOwnerActivity())) {
- try {
- mMainAboutDialog.dismiss();
- } catch (Exception e) {
- Log.e(LOG_TAG, "## displayThirdPartyLicenses() : " + e.getMessage(), e);
- }
- }
- mMainAboutDialog = null;
- }
-
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- WebView view = (WebView) LayoutInflater.from(activity).inflate(R.layout.dialog_licenses, null);
- view.loadUrl("file:///android_asset/open_source_licenses.html");
-
- View titleView = LayoutInflater.from(activity).inflate(R.layout.dialog_licenses_header, null);
-
- view.setScrollbarFadingEnabled(false);
- mMainAboutDialog = new AlertDialog.Builder(activity)
- .setCustomTitle(titleView)
- .setView(view)
- .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- mMainAboutDialog = null;
- }
- })
- .setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialog) {
- mMainAboutDialog = null;
- }
- })
- .show();
- }
- });
- }
- }
-
- /**
- * Open a webview above the current activity.
+ * Open a web view above the current activity.
*
* @param context the application context
* @param url the url to open
*/
- private static void displayInWebview(final Context context, String url) {
+ private static void displayInWebView(final Context context, String url) {
WebView wv = new WebView(context);
wv.loadUrl(url);
- wv.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
-
- return true;
- }
- });
-
new AlertDialog.Builder(context)
.setView(wv)
.setPositiveButton(android.R.string.ok, null)
@@ -771,20 +708,20 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
}
/**
- * Display the term and conditions.
+ * Display the copyright.
*/
- public static void displayAppTac() {
+ public static void displayAppCopyright() {
if (null != VectorApp.getCurrentActivity()) {
- displayInWebview(VectorApp.getCurrentActivity(), "https://riot.im/tac");
+ displayInWebView(VectorApp.getCurrentActivity(), "https://riot.im/copyright");
}
}
/**
- * Display the copyright.
+ * Display the term and conditions.
*/
- public static void displayAppCopyright() {
+ public static void displayAppTac() {
if (null != VectorApp.getCurrentActivity()) {
- displayInWebview(VectorApp.getCurrentActivity(), "https://riot.im/copyright");
+ displayInWebView(VectorApp.getCurrentActivity(), "https://riot.im/tac");
}
}
@@ -793,7 +730,16 @@ public static void displayAppCopyright() {
*/
public static void displayAppPrivacyPolicy() {
if (null != VectorApp.getCurrentActivity()) {
- displayInWebview(VectorApp.getCurrentActivity(), "https://riot.im/privacy");
+ displayInWebView(VectorApp.getCurrentActivity(), "https://riot.im/privacy");
+ }
+ }
+
+ /**
+ * Display the licenses text.
+ */
+ public static void displayThirdPartyLicenses() {
+ if (null != VectorApp.getCurrentActivity()) {
+ displayInWebView(VectorApp.getCurrentActivity(), "file:///android_asset/open_source_licenses.html");
}
}
diff --git a/vector/src/main/res/layout/activity_media_previewer.xml b/vector/src/main/res/layout/activity_media_previewer.xml
index 7940bab011..e9cc6c1b09 100644
--- a/vector/src/main/res/layout/activity_media_previewer.xml
+++ b/vector/src/main/res/layout/activity_media_previewer.xml
@@ -2,8 +2,7 @@
+ android:layout_height="match_parent">
@@ -27,6 +26,7 @@
android:id="@+id/media_previewer_image_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:layout_gravity="center"
android:scaleType="centerInside" />
+
+
+
+
@@ -71,8 +79,7 @@
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:src="@drawable/ic_material_send_white"
- app:layout_constraintBottom_toTopOf="@+id/media_previewer_list"
+ app:layout_constraintBottom_toTopOf="@+id/media_previewer_file_name"
app:layout_constraintEnd_toEndOf="@+id/media_previewer_container" />
-
diff --git a/vector/src/main/res/layout/adapter_item_vector_message_file.xml b/vector/src/main/res/layout/adapter_item_vector_message_file.xml
index b6f2f6c6b1..d9d37d79a7 100644
--- a/vector/src/main/res/layout/adapter_item_vector_message_file.xml
+++ b/vector/src/main/res/layout/adapter_item_vector_message_file.xml
@@ -104,6 +104,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
+ android:paddingLeft="4dp"
android:autoLink="none"
tools:text="A filename here" />
diff --git a/vector/src/main/res/layout/adapter_item_vector_message_image_video.xml b/vector/src/main/res/layout/adapter_item_vector_message_image_video.xml
index 9c88a7be31..cf7d1a2894 100644
--- a/vector/src/main/res/layout/adapter_item_vector_message_image_video.xml
+++ b/vector/src/main/res/layout/adapter_item_vector_message_image_video.xml
@@ -100,14 +100,14 @@
android:adjustViewBounds="true"
android:scaleType="center" />
-
+
+ android:layout_centerInParent="true"
+ android:layout_gravity="center"
+ android:src="@drawable/ic_material_play_circle" />
-
+
+ android:layout_height="match_parent">
+ android:layout_gravity="center" />
@@ -42,8 +40,8 @@
diff --git a/vector/src/main/res/layout/dialog_text_edittext.xml b/vector/src/main/res/layout/dialog_base_edit_text.xml
similarity index 54%
rename from vector/src/main/res/layout/dialog_text_edittext.xml
rename to vector/src/main/res/layout/dialog_base_edit_text.xml
index 66ccd5eb94..817598f546 100644
--- a/vector/src/main/res/layout/dialog_text_edittext.xml
+++ b/vector/src/main/res/layout/dialog_base_edit_text.xml
@@ -3,17 +3,15 @@
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="10dp" >
-
-
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
+ android:orientation="vertical">
diff --git a/vector/src/main/res/layout/dialog_base_list_view.xml b/vector/src/main/res/layout/dialog_base_list_view.xml
new file mode 100644
index 0000000000..938a488ba2
--- /dev/null
+++ b/vector/src/main/res/layout/dialog_base_list_view.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/vector/src/main/res/layout/fragment_dialog_change_password.xml b/vector/src/main/res/layout/dialog_change_password.xml
similarity index 74%
rename from vector/src/main/res/layout/fragment_dialog_change_password.xml
rename to vector/src/main/res/layout/dialog_change_password.xml
index ca1bc5c219..0b6e1294ed 100644
--- a/vector/src/main/res/layout/fragment_dialog_change_password.xml
+++ b/vector/src/main/res/layout/dialog_change_password.xml
@@ -1,9 +1,12 @@
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
+ android:orientation="vertical">
@@ -23,7 +25,7 @@
android:id="@+id/password_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="5dp"
+ android:layout_marginTop="6dp"
android:text="@string/devices_delete_pswd"
android:textSize="12sp"
android:textStyle="bold" />
@@ -35,6 +37,5 @@
android:ems="10"
android:inputType="textPassword"
android:maxLines="1" />
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/devices_details_settings.xml b/vector/src/main/res/layout/dialog_device_details.xml
similarity index 81%
rename from vector/src/main/res/layout/devices_details_settings.xml
rename to vector/src/main/res/layout/dialog_device_details.xml
index d5f4348bca..267479d2e4 100644
--- a/vector/src/main/res/layout/devices_details_settings.xml
+++ b/vector/src/main/res/layout/dialog_device_details.xml
@@ -8,16 +8,18 @@
android:id="@+id/device_container_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginBottom="10dp"
- android:layout_marginLeft="10dp"
- android:layout_marginRight="10dp"
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
android:orientation="vertical">
@@ -26,14 +28,14 @@
android:id="@+id/device_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:text="device id"
+ tools:text="a device id"
android:textSize="12sp" />
@@ -42,14 +44,14 @@
android:id="@+id/device_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- tools:text="Name.."
+ tools:text="a device name"
android:textSize="12sp" />
diff --git a/vector/src/main/res/layout/encrypted_verify_device.xml b/vector/src/main/res/layout/dialog_device_verify.xml
similarity index 83%
rename from vector/src/main/res/layout/encrypted_verify_device.xml
rename to vector/src/main/res/layout/dialog_device_verify.xml
index d4c85392a6..6636a5bfec 100644
--- a/vector/src/main/res/layout/encrypted_verify_device.xml
+++ b/vector/src/main/res/layout/dialog_device_verify.xml
@@ -1,5 +1,4 @@
-
@@ -37,7 +39,7 @@
@@ -52,7 +54,7 @@
@@ -67,7 +69,7 @@
diff --git a/vector/src/main/res/layout/encrypted_event_info.xml b/vector/src/main/res/layout/dialog_encryption_info.xml
similarity index 96%
rename from vector/src/main/res/layout/encrypted_event_info.xml
rename to vector/src/main/res/layout/dialog_encryption_info.xml
index bc72aee060..e683fb9cff 100644
--- a/vector/src/main/res/layout/encrypted_event_info.xml
+++ b/vector/src/main/res/layout/dialog_encryption_info.xml
@@ -1,5 +1,4 @@
-
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/dialog_event_content.xml b/vector/src/main/res/layout/dialog_event_content.xml
index 90423061e7..d725745011 100644
--- a/vector/src/main/res/layout/dialog_event_content.xml
+++ b/vector/src/main/res/layout/dialog_event_content.xml
@@ -8,5 +8,4 @@
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:textIsSelectable="true" />
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/dialog_export_e2e_keys.xml b/vector/src/main/res/layout/dialog_export_e2e_keys.xml
index c9f34f1f37..95f52773cc 100644
--- a/vector/src/main/res/layout/dialog_export_e2e_keys.xml
+++ b/vector/src/main/res/layout/dialog_export_e2e_keys.xml
@@ -3,8 +3,13 @@
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="10dp">
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
+ android:paddingBottom="12dp"
+ android:orientation="vertical">
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/dialog_import_e2e_keys.xml b/vector/src/main/res/layout/dialog_import_e2e_keys.xml
index 3a17e0d415..0c110b043c 100644
--- a/vector/src/main/res/layout/dialog_import_e2e_keys.xml
+++ b/vector/src/main/res/layout/dialog_import_e2e_keys.xml
@@ -3,8 +3,13 @@
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="10dp">
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
+ android:paddingBottom="12dp"
+ android:orientation="vertical">
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/dialog_invite_by_id.xml b/vector/src/main/res/layout/dialog_invite_by_id.xml
index a74e9ac4f4..90e64ddba9 100644
--- a/vector/src/main/res/layout/dialog_invite_by_id.xml
+++ b/vector/src/main/res/layout/dialog_invite_by_id.xml
@@ -2,16 +2,17 @@
android:id="@+id/bug_report_body_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="10dp"
+ android:paddingLeft="?dialogPreferredPadding"
+ android:paddingStart="?dialogPreferredPadding"
+ android:paddingRight="?dialogPreferredPadding"
+ android:paddingEnd="?dialogPreferredPadding"
+ android:paddingTop="12dp"
android:orientation="vertical">
diff --git a/vector/src/main/res/layout/dialog_join_room_by_id.xml b/vector/src/main/res/layout/dialog_join_room_by_id.xml
index 74a6cc786d..4355d897fc 100644
--- a/vector/src/main/res/layout/dialog_join_room_by_id.xml
+++ b/vector/src/main/res/layout/dialog_join_room_by_id.xml
@@ -1,19 +1,16 @@
-
-
-
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/dialog_licenses_header.xml b/vector/src/main/res/layout/dialog_licenses_header.xml
deleted file mode 100644
index a4fabea8ce..0000000000
--- a/vector/src/main/res/layout/dialog_licenses_header.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vector/src/main/res/layout/dialog_phone_number_verification.xml b/vector/src/main/res/layout/dialog_phone_number_verification.xml
index da9bd6e489..3e49d1893c 100644
--- a/vector/src/main/res/layout/dialog_phone_number_verification.xml
+++ b/vector/src/main/res/layout/dialog_phone_number_verification.xml
@@ -1,10 +1,14 @@
+ xmlns:tools="http://schemas.android.com/tools">
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/text_size_selection.xml b/vector/src/main/res/layout/dialog_select_text_size.xml
similarity index 92%
rename from vector/src/main/res/layout/text_size_selection.xml
rename to vector/src/main/res/layout/dialog_select_text_size.xml
index 4da5bed8aa..26616c71d9 100644
--- a/vector/src/main/res/layout/text_size_selection.xml
+++ b/vector/src/main/res/layout/dialog_select_text_size.xml
@@ -1,9 +1,13 @@
-
diff --git a/vector/src/main/res/layout/dialog_ssl_fingerprint.xml b/vector/src/main/res/layout/dialog_ssl_fingerprint.xml
new file mode 100644
index 0000000000..aa6764e15d
--- /dev/null
+++ b/vector/src/main/res/layout/dialog_ssl_fingerprint.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vector/src/main/res/layout/fragment_dialog_accounts_list.xml b/vector/src/main/res/layout/fragment_dialog_accounts_list.xml
deleted file mode 100644
index f1994cda73..0000000000
--- a/vector/src/main/res/layout/fragment_dialog_accounts_list.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vector/src/main/res/layout/ssl_fingerprint_prompt.xml b/vector/src/main/res/layout/ssl_fingerprint_prompt.xml
deleted file mode 100644
index 386e18dfe7..0000000000
--- a/vector/src/main/res/layout/ssl_fingerprint_prompt.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml
index 6fb6d59a82..e061a99730 100755
--- a/vector/src/main/res/values/strings.xml
+++ b/vector/src/main/res/values/strings.xml
@@ -487,7 +487,7 @@
If the server administrator has said that this is expected, ensure that the fingerprint below matches the fingerprint provided by them.
The certificate has changed from one that was trusted by your phone. This is HIGHLY UNUSUAL. It is recommended that you DO NOT ACCEPT this new certificate.
The certificate has changed from a previously trusted one to one that is not trusted. The server may have renewed its certificate. Contact the server administrator for the expected fingerprint.
- ONLY accept the certificate if the server administrator has published a fingerprint that matches the one above.
+ Only accept the certificate if the server administrator has published a fingerprint that matches the one above.
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
@@ -706,9 +706,9 @@
This phone number is already in use
Change password
- old password
- new password
- confirm password
+ Old password
+ New password
+ Confirm password
Fail to update password
Your password has been updated
Show all messages from %s?\n\nNote that this action will restart the app and it may take some time.
@@ -874,7 +874,7 @@
Verify device
To verify that this device can be trusted, please contact its owner using some other means (e.g. in person or a phone call) and ask them whether the key they see in their User Settings for this device matches the key below:
- If it matches, press the verify button below. \nIf it doesn\'t, then someone else is intercepting this device and you should probably blacklist it.\nIn future this verification process will be more sophisticated.
+ If it matches, press the verify button below. If it doesn\'t, then someone else is intercepting this device and you should probably blacklist it. In the future this verification process will be more sophisticated.
I verify that the keys match
Riot now supports end-to-end encryption but you need to log in again to enable it.\n\nYou can do it now or later from the application settings.
@@ -1023,7 +1023,7 @@
Rejoin
Forget room
-
+
Receipt avatar
Notice avatar
Avatar