Compare commits
	
		
			1 Commits
		
	
	
		
			develop
			...
			last_riotx
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 3bfe604dbb | 
							
								
								
									
										23
									
								
								CHANGES.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								CHANGES.md
									
									
									
									
									
								
							| @ -1,28 +1,17 @@ | |||||||
| Changes in Riot.imX 0.91.6 (2020-XX-XX) | Changes in RiotX 0.23.0 (2020-08-05) | ||||||
| =================================================== | =================================================== | ||||||
| 
 | 
 | ||||||
| Features ✨: | This is the very last version of RiotX, published on the PlayStore. | ||||||
|  - |  | ||||||
| 
 | 
 | ||||||
| Improvements 🙌: | This branch will never be merged on develop. | ||||||
|  - | 
 | ||||||
|  | Features ✨: | ||||||
|  |  - Inform user that the app will not be updated anymore (#1727) | ||||||
| 
 | 
 | ||||||
| Bugfix 🐛: | Bugfix 🐛: | ||||||
|  - Video calls are shown as a voice ones in the timeline (#1676) |  - Video calls are shown as a voice ones in the timeline (#1676) | ||||||
|  - Fix regression: not able to create a room without IS configured (#1679) |  - Fix regression: not able to create a room without IS configured (#1679) | ||||||
| 
 | 
 | ||||||
| Translations 🗣: |  | ||||||
|  - |  | ||||||
| 
 |  | ||||||
| SDK API changes ⚠️: |  | ||||||
|  -  |  | ||||||
| 
 |  | ||||||
| Build 🧱: |  | ||||||
|  - |  | ||||||
| 
 |  | ||||||
| Other changes: |  | ||||||
|  - |  | ||||||
| 
 |  | ||||||
| Changes in Riot.imX 0.91.5 (2020-07-11) | Changes in Riot.imX 0.91.5 (2020-07-11) | ||||||
| =================================================== | =================================================== | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -16,8 +16,8 @@ androidExtensions { | |||||||
| 
 | 
 | ||||||
| // Note: 2 digits max for each value | // Note: 2 digits max for each value | ||||||
| ext.versionMajor = 0 | ext.versionMajor = 0 | ||||||
| ext.versionMinor = 91 | ext.versionMinor = 23 | ||||||
| ext.versionPatch = 6 | ext.versionPatch = 0 | ||||||
| 
 | 
 | ||||||
| static def getGitTimestamp() { | static def getGitTimestamp() { | ||||||
|     def cmd = 'git show -s --format=%ct' |     def cmd = 'git show -s --format=%ct' | ||||||
| @ -72,7 +72,7 @@ static def getGplayVersionSuffix() { | |||||||
|     if (gitBranchName() == "master") { |     if (gitBranchName() == "master") { | ||||||
|         return "" |         return "" | ||||||
|     } else { |     } else { | ||||||
|         return "-dev" |         return "" // "-dev" | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @ -112,7 +112,7 @@ android { | |||||||
|     ndkVersion "21.3.6528147" |     ndkVersion "21.3.6528147" | ||||||
| 
 | 
 | ||||||
|     defaultConfig { |     defaultConfig { | ||||||
|         applicationId "im.vector.app" |         applicationId "im.vector.riotx" | ||||||
|         // Set to API 21: see #405 |         // Set to API 21: see #405 | ||||||
|         minSdkVersion 21 |         minSdkVersion 21 | ||||||
|         targetSdkVersion 29 |         targetSdkVersion 29 | ||||||
| @ -183,7 +183,7 @@ android { | |||||||
|     buildTypes { |     buildTypes { | ||||||
|         debug { |         debug { | ||||||
|             applicationIdSuffix ".debug" |             applicationIdSuffix ".debug" | ||||||
|             resValue "string", "app_name", "Riot.imX dbg" |             resValue "string", "app_name", "RiotX dbg" | ||||||
| 
 | 
 | ||||||
|             resValue "bool", "debug_mode", "true" |             resValue "bool", "debug_mode", "true" | ||||||
|             buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" |             buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" | ||||||
| @ -192,7 +192,7 @@ android { | |||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         release { |         release { | ||||||
|             resValue "string", "app_name", "Riot.imX" |             resValue "string", "app_name", "RiotX" | ||||||
| 
 | 
 | ||||||
|             resValue "bool", "debug_mode", "false" |             resValue "bool", "debug_mode", "false" | ||||||
|             buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" |             buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
|       "client_info": { |       "client_info": { | ||||||
|         "mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d", |         "mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d", | ||||||
|         "android_client_info": { |         "android_client_info": { | ||||||
|           "package_name": "im.vector.app.debug" |           "package_name": "im.vector.riotx.debug" | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       "oauth_client": [ |       "oauth_client": [ | ||||||
|  | |||||||
| @ -10,7 +10,7 @@ | |||||||
|       "client_info": { |       "client_info": { | ||||||
|         "mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d", |         "mobilesdk_app_id": "1:912726360885:android:4ef8f3a0021e774d", | ||||||
|         "android_client_info": { |         "android_client_info": { | ||||||
|           "package_name": "im.vector.app" |           "package_name": "im.vector.riotx" | ||||||
|         } |         } | ||||||
|       }, |       }, | ||||||
|       "oauth_client": [ |       "oauth_client": [ | ||||||
|  | |||||||
| @ -13,6 +13,9 @@ | |||||||
|     <uses-permission android:name="android.permission.RECORD_AUDIO" /> |     <uses-permission android:name="android.permission.RECORD_AUDIO" /> | ||||||
|     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | ||||||
| 
 | 
 | ||||||
|  |     <!-- To be able to delete RiotX --> | ||||||
|  |     <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> | ||||||
|  | 
 | ||||||
|     <!-- Call feature --> |     <!-- Call feature --> | ||||||
|     <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" /> |     <uses-permission android:name="android.permission.MANAGE_OWN_CALLS" /> | ||||||
|     <!-- Commented because Google PlayStore does not like we add permission if we are not requiring it. And it was added for future use --> |     <!-- Commented because Google PlayStore does not like we add permission if we are not requiring it. And it was added for future use --> | ||||||
| @ -140,8 +143,10 @@ | |||||||
|             </intent-filter> |             </intent-filter> | ||||||
|         </activity> |         </activity> | ||||||
| 
 | 
 | ||||||
|  |         <!-- Disable incoming share --> | ||||||
|         <activity |         <activity | ||||||
|             android:name=".features.share.IncomingShareActivity" |             android:name=".features.share.IncomingShareActivity" | ||||||
|  |             android:enabled="false" | ||||||
|             android:parentActivityName=".features.home.HomeActivity"> |             android:parentActivityName=".features.home.HomeActivity"> | ||||||
|             <meta-data |             <meta-data | ||||||
|                 android:name="android.support.PARENT_ACTIVITY" |                 android:name="android.support.PARENT_ACTIVITY" | ||||||
|  | |||||||
| @ -17,47 +17,19 @@ | |||||||
| package im.vector.riotx.features.disclaimer | package im.vector.riotx.features.disclaimer | ||||||
| 
 | 
 | ||||||
| import android.app.Activity | import android.app.Activity | ||||||
| import androidx.preference.PreferenceManager |  | ||||||
| import android.view.ViewGroup |  | ||||||
| import android.widget.TextView |  | ||||||
| import androidx.appcompat.app.AlertDialog | import androidx.appcompat.app.AlertDialog | ||||||
| import androidx.core.content.edit |  | ||||||
| import im.vector.riotx.BuildConfig |  | ||||||
| import im.vector.riotx.R | import im.vector.riotx.R | ||||||
| import im.vector.riotx.core.extensions.setTextWithColoredPart |  | ||||||
| import im.vector.riotx.core.utils.openPlayStore | import im.vector.riotx.core.utils.openPlayStore | ||||||
| 
 | 
 | ||||||
| // Increase this value to show again the disclaimer dialog after an upgrade of the application |  | ||||||
| private const val CURRENT_DISCLAIMER_VALUE = 1 |  | ||||||
| 
 |  | ||||||
| private const val SHARED_PREF_KEY = "LAST_DISCLAIMER_VERSION_VALUE" |  | ||||||
| 
 |  | ||||||
| fun showDisclaimerDialog(activity: Activity) { | fun showDisclaimerDialog(activity: Activity) { | ||||||
|     val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(activity) |  | ||||||
| 
 |  | ||||||
|     if (sharedPrefs.getInt(SHARED_PREF_KEY, 0) < CURRENT_DISCLAIMER_VALUE) { |  | ||||||
|         sharedPrefs.edit { |  | ||||||
|             putInt(SHARED_PREF_KEY, CURRENT_DISCLAIMER_VALUE) |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|     val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_disclaimer_content, null) |     val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_disclaimer_content, null) | ||||||
| 
 | 
 | ||||||
|         val textView = (dialogLayout as ViewGroup).findViewById<TextView>(R.id.dialogDisclaimerContentLine2) |  | ||||||
|         @Suppress("ConstantConditionIf") |  | ||||||
|         if (BuildConfig.FLAVOR == "gplay") { |  | ||||||
|             textView.setTextWithColoredPart(R.string.alpha_disclaimer_content_line_2_gplay, R.string.alpha_disclaimer_content_line_2_gplay_colored_part) |  | ||||||
| 
 |  | ||||||
|             textView.setOnClickListener { |  | ||||||
|                 openPlayStore(activity) |  | ||||||
|             } |  | ||||||
|         } else { |  | ||||||
|             textView.setText(R.string.alpha_disclaimer_content_line_2_fdroid) |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|     AlertDialog.Builder(activity) |     AlertDialog.Builder(activity) | ||||||
|             .setView(dialogLayout) |             .setView(dialogLayout) | ||||||
|             .setCancelable(false) |             .setCancelable(false) | ||||||
|                 .setPositiveButton(R.string._continue, null) |             .setPositiveButton(R.string.the_beta_is_over_get_element) { _, _ -> | ||||||
|                 .show() |                 openPlayStore(activity, "im.vector.app") | ||||||
|             } |             } | ||||||
|  |             .setNegativeButton(R.string.later, null) | ||||||
|  |             .show() | ||||||
| } | } | ||||||
|  | |||||||
| @ -225,6 +225,8 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable, UnknownDeviceDet | |||||||
|         super.onDestroy() |         super.onDestroy() | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     private var disclaimerShown = false | ||||||
|  | 
 | ||||||
|     override fun onResume() { |     override fun onResume() { | ||||||
|         super.onResume() |         super.onResume() | ||||||
| 
 | 
 | ||||||
| @ -238,8 +240,11 @@ class HomeActivity : VectorBaseActivity(), ToolbarConfigurable, UnknownDeviceDet | |||||||
|                     .setNegativeButton(R.string.no) { _, _ -> bugReporter.deleteCrashFile(this) } |                     .setNegativeButton(R.string.no) { _, _ -> bugReporter.deleteCrashFile(this) } | ||||||
|                     .show() |                     .show() | ||||||
|         } else { |         } else { | ||||||
|  |             if (!disclaimerShown) { | ||||||
|  |                 disclaimerShown = true | ||||||
|                 showDisclaimerDialog(this) |                 showDisclaimerDialog(this) | ||||||
|             } |             } | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         // Force remote backup state update to update the banner if needed |         // Force remote backup state update to update the banner if needed | ||||||
|         serverBackupStatusViewModel.refreshRemoteStateIfNeeded() |         serverBackupStatusViewModel.refreshRemoteStateIfNeeded() | ||||||
|  | |||||||
| @ -16,8 +16,14 @@ | |||||||
| 
 | 
 | ||||||
| package im.vector.riotx.features.login | package im.vector.riotx.features.login | ||||||
| 
 | 
 | ||||||
|  | import android.content.ActivityNotFoundException | ||||||
|  | import android.content.Intent | ||||||
|  | import android.net.Uri | ||||||
| import butterknife.OnClick | import butterknife.OnClick | ||||||
|  | import im.vector.riotx.BuildConfig | ||||||
| import im.vector.riotx.R | import im.vector.riotx.R | ||||||
|  | import im.vector.riotx.core.utils.openPlayStore | ||||||
|  | import im.vector.riotx.core.utils.toast | ||||||
| import javax.inject.Inject | import javax.inject.Inject | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -29,7 +35,19 @@ class LoginSplashFragment @Inject constructor() : AbstractLoginFragment() { | |||||||
| 
 | 
 | ||||||
|     @OnClick(R.id.loginSplashSubmit) |     @OnClick(R.id.loginSplashSubmit) | ||||||
|     fun getStarted() { |     fun getStarted() { | ||||||
|         loginViewModel.handle(LoginAction.PostViewEvent(LoginViewEvents.OpenServerSelection)) |         openPlayStore(requireActivity(), "im.vector.app") | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @OnClick(R.id.loginSplashUninstall) | ||||||
|  |     fun uninstall() { | ||||||
|  |         @Suppress("DEPRECATION") | ||||||
|  |         val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE) | ||||||
|  |         intent.data = Uri.parse("package:" + BuildConfig.APPLICATION_ID) | ||||||
|  |         try { | ||||||
|  |             startActivity(intent) | ||||||
|  |         } catch (anfe: ActivityNotFoundException) { | ||||||
|  |             requireActivity().toast(R.string.error_no_external_application_found) | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun resetViewModel() { |     override fun resetViewModel() { | ||||||
|  | |||||||
| @ -1,6 +1,5 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:layout_width="match_parent" |     android:layout_width="match_parent" | ||||||
|     android:layout_height="match_parent" |     android:layout_height="match_parent" | ||||||
|     android:orientation="vertical"> |     android:orientation="vertical"> | ||||||
| @ -26,7 +25,7 @@ | |||||||
|             android:layout_marginTop="92dp" |             android:layout_marginTop="92dp" | ||||||
|             android:fontFamily="sans-serif" |             android:fontFamily="sans-serif" | ||||||
|             android:lineSpacingExtra="8sp" |             android:lineSpacingExtra="8sp" | ||||||
|             android:text="@string/alpha_disclaimer_title" |             android:text="@string/the_beta_is_over_title" | ||||||
|             android:textColor="@color/white" |             android:textColor="@color/white" | ||||||
|             android:textSize="24sp" |             android:textSize="24sp" | ||||||
|             android:textStyle="normal" /> |             android:textStyle="normal" /> | ||||||
| @ -39,20 +38,8 @@ | |||||||
|         android:layout_marginStart="24dp" |         android:layout_marginStart="24dp" | ||||||
|         android:layout_marginTop="21dp" |         android:layout_marginTop="21dp" | ||||||
|         android:layout_marginEnd="24dp" |         android:layout_marginEnd="24dp" | ||||||
|         android:text="@string/alpha_disclaimer_content_line_1" |         android:text="@string/the_beta_is_over_content" | ||||||
|         android:textColor="?riotx_text_primary" |         android:textColor="?riotx_text_primary" | ||||||
|         android:textSize="16sp" /> |         android:textSize="16sp" /> | ||||||
| 
 | 
 | ||||||
|     <TextView |  | ||||||
|         android:id="@+id/dialogDisclaimerContentLine2" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_marginStart="24dp" |  | ||||||
|         android:layout_marginTop="21dp" |  | ||||||
|         android:layout_marginEnd="24dp" |  | ||||||
|         android:layout_marginBottom="21dp" |  | ||||||
|         android:textColor="?riotx_text_primary" |  | ||||||
|         android:textSize="16sp" |  | ||||||
|         tools:text="@string/alpha_disclaimer_content_line_2_gplay" /> |  | ||||||
| 
 |  | ||||||
| </LinearLayout> | </LinearLayout> | ||||||
| @ -35,101 +35,41 @@ | |||||||
|                 android:layout_width="0dp" |                 android:layout_width="0dp" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="wrap_content" | ||||||
|                 android:layout_marginTop="48dp" |                 android:layout_marginTop="48dp" | ||||||
|                 android:text="@string/login_splash_title" |                 android:gravity="center_horizontal" | ||||||
|  |                 android:text="@string/the_beta_is_over_login_screen_content" | ||||||
|                 android:textAppearance="@style/TextAppearance.Vector.Login.Title" |                 android:textAppearance="@style/TextAppearance.Vector.Login.Title" | ||||||
|                 android:transitionName="loginTitleTransition" |                 android:transitionName="loginTitleTransition" | ||||||
|                 app:layout_constraintBottom_toTopOf="@+id/loginSplashText1" |                 app:layout_constraintBottom_toTopOf="@+id/loginSplashSubmit" | ||||||
|                 app:layout_constraintEnd_toEndOf="parent" |                 app:layout_constraintEnd_toEndOf="parent" | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |                 app:layout_constraintStart_toStartOf="parent" | ||||||
|                 app:layout_constraintTop_toBottomOf="@+id/loginSplashLogo" /> |                 app:layout_constraintTop_toBottomOf="@+id/loginSplashLogo" /> | ||||||
| 
 | 
 | ||||||
|             <!-- TODO check relative dimension --> |  | ||||||
|             <ImageView |  | ||||||
|                 android:id="@+id/loginSplashPicto1" |  | ||||||
|                 android:layout_width="wrap_content" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginStart="2dp" |  | ||||||
|                 android:importantForAccessibility="no" |  | ||||||
|                 android:src="@drawable/ic_login_splash_message_circle" |  | ||||||
|                 android:tint="?vctr_notice_secondary" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toTopOf="@+id/loginSplashText1" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/loginSplashText1" |  | ||||||
|                 android:layout_width="0dp" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginStart="36dp" |  | ||||||
|                 android:layout_marginTop="32dp" |  | ||||||
|                 android:gravity="start" |  | ||||||
|                 android:text="@string/login_splash_text1" |  | ||||||
|                 android:textAppearance="@style/TextAppearance.Vector.Login.Text" |  | ||||||
|                 app:layout_constraintBottom_toTopOf="@+id/loginSplashText2" |  | ||||||
|                 app:layout_constraintEnd_toEndOf="parent" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toBottomOf="@+id/loginSplashTitle" /> |  | ||||||
| 
 |  | ||||||
|             <ImageView |  | ||||||
|                 android:id="@+id/loginSplashPicto2" |  | ||||||
|                 android:layout_width="wrap_content" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginStart="2dp" |  | ||||||
|                 android:importantForAccessibility="no" |  | ||||||
|                 android:src="@drawable/ic_login_splash_lock" |  | ||||||
|                 android:tint="?vctr_notice_secondary" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toTopOf="@+id/loginSplashText2" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/loginSplashText2" |  | ||||||
|                 android:layout_width="0dp" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginStart="36dp" |  | ||||||
|                 android:layout_marginTop="16dp" |  | ||||||
|                 android:gravity="start" |  | ||||||
|                 android:text="@string/login_splash_text2" |  | ||||||
|                 android:textAppearance="@style/TextAppearance.Vector.Login.Text" |  | ||||||
|                 app:layout_constraintBottom_toTopOf="@id/loginSplashText3" |  | ||||||
|                 app:layout_constraintEnd_toEndOf="parent" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toBottomOf="@+id/loginSplashText1" /> |  | ||||||
| 
 |  | ||||||
|             <ImageView |  | ||||||
|                 android:id="@+id/loginSplashPicto3" |  | ||||||
|                 android:layout_width="wrap_content" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:importantForAccessibility="no" |  | ||||||
|                 android:src="@drawable/ic_login_splash_sliders" |  | ||||||
|                 android:tint="?vctr_notice_secondary" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toTopOf="@+id/loginSplashText3" /> |  | ||||||
| 
 |  | ||||||
|             <TextView |  | ||||||
|                 android:id="@+id/loginSplashText3" |  | ||||||
|                 android:layout_width="0dp" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:layout_marginStart="36dp" |  | ||||||
|                 android:layout_marginTop="16dp" |  | ||||||
|                 android:gravity="start" |  | ||||||
|                 android:text="@string/login_splash_text3" |  | ||||||
|                 android:textAppearance="@style/TextAppearance.Vector.Login.Text" |  | ||||||
|                 app:layout_constraintBottom_toTopOf="@+id/loginSplashSubmit" |  | ||||||
|                 app:layout_constraintEnd_toEndOf="parent" |  | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |  | ||||||
|                 app:layout_constraintTop_toBottomOf="@+id/loginSplashText2" /> |  | ||||||
| 
 | 
 | ||||||
|             <com.google.android.material.button.MaterialButton |             <com.google.android.material.button.MaterialButton | ||||||
|                 android:id="@+id/loginSplashSubmit" |                 android:id="@+id/loginSplashSubmit" | ||||||
|                 style="@style/Style.Vector.Login.Button" |                 style="@style/Style.Vector.Login.Button" | ||||||
|                 android:layout_width="0dp" |                 android:layout_width="wrap_content" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="wrap_content" | ||||||
|                 android:layout_marginTop="48dp" |                 android:layout_marginTop="48dp" | ||||||
|                 android:text="@string/login_splash_submit" |                 android:text="@string/the_beta_is_over_get_element" | ||||||
|                 android:transitionName="loginSubmitTransition" |                 android:transitionName="loginSubmitTransition" | ||||||
|                 app:layout_constraintBottom_toBottomOf="parent" |                 app:layout_constraintBottom_toBottomOf="parent" | ||||||
|                 app:layout_constraintEnd_toEndOf="parent" |                 app:layout_constraintEnd_toEndOf="parent" | ||||||
|                 app:layout_constraintStart_toStartOf="parent" |                 app:layout_constraintStart_toStartOf="parent" | ||||||
|                 app:layout_constraintTop_toBottomOf="@+id/loginSplashText3" /> |                 app:layout_constraintTop_toBottomOf="@+id/loginSplashTitle" /> | ||||||
|  | 
 | ||||||
|  |             <com.google.android.material.button.MaterialButton | ||||||
|  |                 android:id="@+id/loginSplashUninstall" | ||||||
|  |                 style="@style/Style.Vector.Login.Button.Text" | ||||||
|  |                 android:layout_width="wrap_content" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_marginTop="24dp" | ||||||
|  |                 android:text="@string/the_beta_is_over_uninstall" | ||||||
|  |                 android:transitionName="loginSubmitTransition" | ||||||
|  |                 app:layout_constraintBottom_toBottomOf="parent" | ||||||
|  |                 app:layout_constraintEnd_toEndOf="parent" | ||||||
|  |                 app:layout_constraintStart_toStartOf="parent" | ||||||
|  |                 app:layout_constraintTop_toBottomOf="@+id/loginSplashSubmit" /> | ||||||
| 
 | 
 | ||||||
|         </androidx.constraintlayout.widget.ConstraintLayout> |         </androidx.constraintlayout.widget.ConstraintLayout> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -2552,4 +2552,11 @@ Not all features in Riot are implemented in RiotX yet. Main missing (and coming | |||||||
| 
 | 
 | ||||||
|     <string name="three_pid_revoke_invite_dialog_title">Revoke invite</string> |     <string name="three_pid_revoke_invite_dialog_title">Revoke invite</string> | ||||||
|     <string name="three_pid_revoke_invite_dialog_content">Revoke invite to %1$s?</string> |     <string name="three_pid_revoke_invite_dialog_content">Revoke invite to %1$s?</string> | ||||||
|  | 
 | ||||||
|  |     <string name="the_beta_is_over_title">The beta is over!</string> | ||||||
|  |     <string name="the_beta_is_over_content">Thank you for your contribution to test RiotX.\n\nRiotX will not be updated anymore from the PlayStore, you should properly sign out and then uninstall it.\n\nPlease install the new application Element!</string> | ||||||
|  |     <string name="the_beta_is_over_get_element">Get Element</string> | ||||||
|  |     <string name="the_beta_is_over_uninstall">Uninstall RiotX</string> | ||||||
|  | 
 | ||||||
|  |     <string name="the_beta_is_over_login_screen_content">RiotX is deprecated\n\nPlease install Element!</string> | ||||||
| </resources> | </resources> | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user