Ver código fonte

Added opening user screen from other apps

Vadik Sirekanyan 7 anos atrás
pai
commit
705541fa59

+ 7 - 6
app/src/main/java/me/vadik/knigopis/feature/MainActivity.kt

@@ -176,15 +176,16 @@ class MainActivity : AppCompatActivity(), Router {
             booksChanged = false
             refresh(isForce = true)
         }
-        intent.data?.also {
-            val normalizedUri = Uri.parse(it.toString().replaceFirst("/#/", "/"))
+        intent.data?.also { userUrl ->
+            intent.data = null
+            val normalizedUri = Uri.parse(userUrl.toString().replaceFirst("/#/", "/"))
             normalizedUri.getQueryParameter("u")?.let { userId ->
-                api.createSubscription(userId, auth.getAccessToken())
+                api.getUser(userId)
                     .io2main()
-                    .subscribe({
-                        toast(R.string.users_info_subscribed)
+                    .subscribe({ user ->
+                        openUserScreen(userId, user.name, user.photo)
                     }, {
-                        logError("Cannot create subscription", it)
+                        logError("Cannot get user", it)
                     })
             }
         }

+ 4 - 0
app/src/main/java/me/vadik/knigopis/feature/user/UserActivity.kt

@@ -148,6 +148,10 @@ class UserActivity : AppCompatActivity() {
 
     override fun onOptionsItemSelected(item: MenuItem): Boolean {
         return when (item.itemId) {
+            android.R.id.home -> {
+                onBackPressed()
+                true
+            }
             R.id.option_copy -> {
                 val link = "http://www.knigopis.com/#/user/books?u=$userId"
                 systemClipboardManager.primaryClip = ClipData.newPlainText(null, link)