ソースを参照

Made intent creation more specific

Vadik Sirekanyan 7 年 前
コミット
9a41dfe0d6

+ 0 - 5
app/src/main/java/com/sirekanyan/knigopis/common/BaseActivity.kt

@@ -2,7 +2,6 @@ package com.sirekanyan.knigopis.common
 
 import android.support.v7.app.AppCompatActivity
 import io.reactivex.Completable
-import io.reactivex.Observable
 import io.reactivex.Single
 import io.reactivex.disposables.CompositeDisposable
 
@@ -18,10 +17,6 @@ abstract class BaseActivity : AppCompatActivity() {
         disposables.add(subscribe(onSuccess, onError))
     }
 
-    fun <T> Observable<T>.bind(onNext: (T) -> Unit, onError: (Throwable) -> Unit) {
-        disposables.add(subscribe(onNext, onError))
-    }
-
     override fun onStop() {
         super.onStop()
         disposables.clear()

+ 13 - 13
app/src/main/java/com/sirekanyan/knigopis/common/functions/IntentFactory.kt

@@ -3,24 +3,24 @@ package com.sirekanyan.knigopis.common.functions
 import android.content.Context
 import android.content.Intent
 import android.net.Uri
-import android.provider.Settings
+import android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS
+import com.sirekanyan.knigopis.R
 import ru.ulogin.sdk.UloginAuthActivity
 
 private const val TEXT_MIME_TYPE = "text/plain"
 private const val PACKAGE_SCHEME = "package"
 
-fun createTextShareIntent(text: String, title: String): Intent {
-    val sharingIntent = Intent(Intent.ACTION_SEND)
-        .setType(TEXT_MIME_TYPE)
-        .putExtra(Intent.EXTRA_TEXT, text)
-    return Intent.createChooser(sharingIntent, title)
-}
+fun Context.createProfileShareIntent(text: String) =
+    createTextShareIntent(text, getString(R.string.profile_title_share))
 
-fun Context.createAppSettingsIntent(): Intent =
-    Intent(
-        Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
-        Uri.fromParts(PACKAGE_SCHEME, packageName, null)
-    )
+fun Context.createAppSettingsIntent() =
+    Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts(PACKAGE_SCHEME, packageName, null))
 
 fun Context.createLoginIntent() =
-    Intent(this, UloginAuthActivity::class.java)
+    Intent(this, UloginAuthActivity::class.java)
+
+private fun createTextShareIntent(text: String, title: String): Intent =
+    Intent(Intent.ACTION_SEND)
+        .setType(TEXT_MIME_TYPE)
+        .putExtra(Intent.EXTRA_TEXT, text)
+        .let { Intent.createChooser(it, title) }