소스 검색

Removed ulogin auth sdk

Vadik Sirekanyan 6 년 전
부모
커밋
e3f60ef4eb

+ 0 - 1
app/build.gradle.kts

@@ -57,7 +57,6 @@ dependencies {
     // etc
     implementation("com.google.android.material:material:1.0.0")
     implementation("com.github.bumptech.glide:glide:4.10.0")
-    implementation(files("libs/ulogin-sdk-v1.1.aar"))
 }
 
 task("updateReadme") {

BIN
app/libs/ulogin-sdk-v1.1.aar


+ 1 - 7
app/src/main/AndroidManifest.xml

@@ -4,7 +4,6 @@
     package="com.sirekanyan.knigopis">
 
     <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
     <application
@@ -15,8 +14,7 @@
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
         android:theme="@style/AppTheme"
-        tools:ignore="GoogleAppIndexingWarning"
-        tools:replace="allowBackup,label">
+        tools:ignore="GoogleAppIndexingWarning">
 
         <activity
             android:name=".feature.MainActivity"
@@ -50,10 +48,6 @@
             android:screenOrientation="portrait"
             android:theme="@style/ProfileAppTheme" />
 
-        <activity
-            android:name="ru.ulogin.sdk.UloginAuthActivity"
-            android:configChanges="orientation|screenSize" />
-
         <activity android:name=".feature.login.LoginActivity">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />

+ 0 - 18
app/src/main/java/com/sirekanyan/knigopis/common/android/permissions/Permission.kt

@@ -1,18 +0,0 @@
-package com.sirekanyan.knigopis.common.android.permissions
-
-import android.Manifest
-
-enum class Permission(val key: String, val requestCode: Int, val rationaleRequestCode: Int) {
-
-    PHONE(Manifest.permission.READ_PHONE_STATE, 300, 400);
-
-    val requestCodes = setOf(requestCode, rationaleRequestCode)
-
-    companion object {
-
-        fun findByKey(key: String): Permission? =
-            values().find { it.key == key }
-
-    }
-
-}

+ 0 - 27
app/src/main/java/com/sirekanyan/knigopis/common/android/permissions/PermissionResult.kt

@@ -1,27 +0,0 @@
-package com.sirekanyan.knigopis.common.android.permissions
-
-import android.content.pm.PackageManager
-
-class PermissionResult(
-    private val requestCode: Int,
-    val permission: Permission,
-    private val result: Int
-) {
-
-    fun isGranted(): Boolean =
-        result == PackageManager.PERMISSION_GRANTED
-
-    fun isRegularRequest(): Boolean =
-        requestCode == permission.requestCode
-
-    companion object {
-
-        fun create(requestCode: Int, permissionKey: String, result: Int): PermissionResult? {
-            val permission = Permission.findByKey(permissionKey) ?: return null
-            if (requestCode !in permission.requestCodes) return null
-            return PermissionResult(requestCode, permission, result)
-        }
-
-    }
-
-}

+ 0 - 92
app/src/main/java/com/sirekanyan/knigopis/common/android/permissions/Permissions.kt

@@ -1,92 +0,0 @@
-package com.sirekanyan.knigopis.common.android.permissions
-
-import android.content.pm.PackageManager.PERMISSION_DENIED
-import android.content.pm.PackageManager.PERMISSION_GRANTED
-import android.view.View
-import androidx.appcompat.app.AlertDialog
-import androidx.appcompat.app.AppCompatActivity
-import androidx.core.app.ActivityCompat
-import androidx.core.content.ContextCompat
-import com.google.android.material.snackbar.Snackbar
-import com.sirekanyan.knigopis.R
-import com.sirekanyan.knigopis.common.android.permissions.Permissions.Callback
-import com.sirekanyan.knigopis.common.functions.createAppSettingsIntent
-import com.sirekanyan.knigopis.repository.Configuration
-
-interface Permissions {
-
-    fun requestPermission(permission: Permission)
-    fun submitResult(result: PermissionResult)
-
-    interface Callback {
-
-        fun onGranted(permission: Permission)
-
-    }
-
-}
-
-class PermissionsImpl(
-    private val activity: AppCompatActivity,
-    private val config: Configuration
-) : Permissions {
-
-    lateinit var callback: Callback
-
-    override fun requestPermission(permission: Permission) {
-        when (ContextCompat.checkSelfPermission(activity, permission.key)) {
-            PERMISSION_GRANTED -> callback.onGranted(permission)
-            PERMISSION_DENIED -> onPermissionDenied(permission)
-        }
-    }
-
-    private fun onPermissionDenied(permission: Permission) {
-        if (ActivityCompat.shouldShowRequestPermissionRationale(activity, permission.key)) {
-            showRationaleDialog {
-                requestPermission(permission, permission.rationaleRequestCode)
-            }
-        } else {
-            requestPermission(permission, permission.requestCode)
-        }
-    }
-
-    private fun requestPermission(permission: Permission, requestCode: Int) {
-        ActivityCompat.requestPermissions(activity, arrayOf(permission.key), requestCode)
-    }
-
-    override fun submitResult(result: PermissionResult) {
-        when {
-            result.isGranted() -> {
-                callback.onGranted(result.permission)
-            }
-            result.isRegularRequest() -> {
-                if (config.shouldShowSettings) {
-                    showSettingsDialog()
-                }
-                config.shouldShowSettings = true
-            }
-        }
-    }
-
-    private inline fun showRationaleDialog(crossinline onAllowed: () -> Unit) {
-        AlertDialog.Builder(activity)
-            .setTitle(R.string.permissions_title)
-            .setMessage(R.string.permissions_message_rationale)
-            .setPositiveButton(R.string.permissions_button_rationale) { _, _ -> onAllowed() }
-            .setNegativeButton(R.string.common_button_cancel, null)
-            .setCancelable(false)
-            .show()
-    }
-
-    private fun showSettingsDialog() {
-        val contentView = activity.findViewById<View>(android.R.id.content)
-        Snackbar.make(contentView, R.string.permissions_message_settings, Snackbar.LENGTH_LONG)
-            .setAction(R.string.permissions_button_settings) { openSettings() }
-            .show()
-    }
-
-    private fun openSettings() {
-        activity.startActivity(activity.createAppSettingsIntent())
-    }
-
-}

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

@@ -2,23 +2,13 @@ package com.sirekanyan.knigopis.common.functions
 
 import android.content.Context
 import android.content.Intent
-import android.net.Uri
-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 Context.createProfileShareIntent(text: String) =
     createTextShareIntent(text, getString(R.string.profile_title_share))
 
-fun Context.createAppSettingsIntent() =
-    Intent(ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts(PACKAGE_SCHEME, packageName, null))
-
-fun Context.createLoginIntent() =
-    Intent(this, UloginAuthActivity::class.java)
-
 private fun createTextShareIntent(text: String, title: String): Intent =
     Intent(Intent.ACTION_SEND)
         .setType(TEXT_MIME_TYPE)

+ 3 - 8
app/src/main/java/com/sirekanyan/knigopis/dependency/login.kt

@@ -1,17 +1,12 @@
 package com.sirekanyan.knigopis.dependency
 
-import com.sirekanyan.knigopis.common.android.permissions.PermissionsImpl
-import com.sirekanyan.knigopis.common.extensions.app
 import com.sirekanyan.knigopis.common.extensions.getRootView
 import com.sirekanyan.knigopis.feature.login.LoginActivity
 import com.sirekanyan.knigopis.feature.login.LoginPresenter
 import com.sirekanyan.knigopis.feature.login.LoginPresenterImpl
 import com.sirekanyan.knigopis.feature.login.LoginViewImpl
 
-fun LoginActivity.providePresenter(): LoginPresenter {
-    val permissions = PermissionsImpl(this, app.config)
-    return LoginPresenterImpl(this, permissions).also { presenter ->
+fun LoginActivity.providePresenter(): LoginPresenter =
+    LoginPresenterImpl(this).also { presenter ->
         presenter.view = LoginViewImpl(getRootView(), presenter)
-        permissions.callback = presenter
-    }
-}
+    }

+ 0 - 34
app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginActivity.kt

@@ -11,17 +11,13 @@ import androidx.appcompat.app.AppCompatActivity
 import androidx.browser.customtabs.CustomTabsIntent
 import androidx.core.content.ContextCompat
 import com.sirekanyan.knigopis.R
-import com.sirekanyan.knigopis.common.android.permissions.PermissionResult
 import com.sirekanyan.knigopis.common.extensions.app
 import com.sirekanyan.knigopis.common.extensions.setDarkTheme
-import com.sirekanyan.knigopis.common.functions.createLoginIntent
 import com.sirekanyan.knigopis.dependency.providePresenter
 import com.sirekanyan.knigopis.feature.startMainActivity
-import ru.ulogin.sdk.UloginAuthActivity
 
 private const val MARKET_URI = "market://details?id="
 private const val GOOGLE_PLAY_URI = "https://play.google.com/store/apps/details?id="
-private const val LOGIN_REQUEST_CODE = 0
 
 fun Context.startLoginActivity() {
     startActivity(Intent(this, LoginActivity::class.java))
@@ -48,32 +44,6 @@ class LoginActivity : AppCompatActivity(), LoginPresenter.Router {
         }
     }
 
-    override fun onRequestPermissionsResult(
-        requestCode: Int,
-        permissions: Array<String>,
-        results: IntArray
-    ) {
-        if (permissions.size == 1 && results.size == 1) {
-            PermissionResult.create(requestCode, permissions.single(), results.single())?.let {
-                presenter.onPermissionResult(it)
-            }
-        }
-    }
-
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-        super.onActivityResult(requestCode, resultCode, data)
-        when (requestCode) {
-            LOGIN_REQUEST_CODE -> {
-                if (resultCode == RESULT_OK && data != null) {
-                    val userData = data.getSerializableExtra(UloginAuthActivity.USERDATA)
-                    val token = (userData as HashMap<*, *>)["token"].toString()
-                    auth.saveToken(token)
-                    startMainActivity()
-                }
-            }
-        }
-    }
-
     override fun openBrowser(website: Website): Boolean {
         val toolbarColor = ContextCompat.getColor(this, website.color)
         val customTabsIntent = CustomTabsIntent.Builder().setToolbarColor(toolbarColor).build()
@@ -94,10 +64,6 @@ class LoginActivity : AppCompatActivity(), LoginPresenter.Router {
         }
     }
 
-    override fun openLegacyLoginScreen() {
-        startActivityForResult(createLoginIntent(), LOGIN_REQUEST_CODE)
-    }
-
     override fun close() {
         finish()
     }

+ 3 - 25
app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginPresenter.kt

@@ -2,33 +2,25 @@ package com.sirekanyan.knigopis.feature.login
 
 import com.sirekanyan.knigopis.common.BasePresenter
 import com.sirekanyan.knigopis.common.Presenter
-import com.sirekanyan.knigopis.common.android.permissions.Permission
-import com.sirekanyan.knigopis.common.android.permissions.PermissionResult
-import com.sirekanyan.knigopis.common.android.permissions.Permissions
+import com.sirekanyan.knigopis.feature.login.LoginPresenter.Router
 
 interface LoginPresenter : Presenter {
 
     fun init()
-    fun onPermissionResult(permissionResult: PermissionResult)
 
     interface Router {
 
         fun openBrowser(website: Website): Boolean
         fun openMarket(packageName: String)
-        fun openLegacyLoginScreen()
         fun close()
 
     }
 
 }
 
-class LoginPresenterImpl(
-    private val router: LoginPresenter.Router,
-    private val permissions: Permissions
-) : BasePresenter<LoginView>(),
+class LoginPresenterImpl(private val router: Router) : BasePresenter<LoginView>(),
     LoginPresenter,
-    LoginView.Callbacks,
-    Permissions.Callback {
+    LoginView.Callbacks {
 
     override fun init() {
         Website.values().forEach { website ->
@@ -46,20 +38,6 @@ class LoginPresenterImpl(
         router.openMarket(packageName)
     }
 
-    override fun onLegacyLoginClicked() {
-        permissions.requestPermission(Permission.PHONE)
-    }
-
-    override fun onPermissionResult(permissionResult: PermissionResult) {
-        permissions.submitResult(permissionResult)
-    }
-
-    override fun onGranted(permission: Permission) {
-        if (permission == Permission.PHONE) {
-            router.openLegacyLoginScreen()
-        }
-    }
-
     override fun onBackClicked() {
         router.close()
     }

+ 0 - 11
app/src/main/java/com/sirekanyan/knigopis/feature/login/LoginView.kt

@@ -19,7 +19,6 @@ interface LoginView {
 
         fun onWebsiteClicked(website: Website)
         fun onInstallBrowserClicked(packageName: String)
-        fun onLegacyLoginClicked()
         fun onBackClicked()
 
     }
@@ -38,16 +37,6 @@ class LoginViewImpl(
         toolbar.setTitle(R.string.login_title)
         toolbar.setNavigationIcon(R.drawable.ic_arrow_back)
         toolbar.setNavigationOnClickListener { callbacks.onBackClicked() }
-        toolbar.inflateMenu(R.menu.login_options)
-        toolbar.setOnMenuItemClickListener { item ->
-            when (item.itemId) {
-                R.id.option_legacy_login -> {
-                    callbacks.onLegacyLoginClicked()
-                    true
-                }
-                else -> false
-            }
-        }
     }
 
     override fun addWebsite(website: Website) {

+ 0 - 10
app/src/main/res/menu/login_options.xml

@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <item
-        android:id="@+id/option_legacy_login"
-        android:title="@string/login.legacy"
-        app:showAsAction="never" />
-
-</menu>

+ 0 - 8
app/src/main/res/values-ru/strings.xml

@@ -27,7 +27,6 @@
 
     <!-- login -->
     <string name="login.title">Войти через…</string>
-    <string name="login.legacy">Старая авторизация</string>
     <string name="login.website.vk">Вконтакте</string>
     <string name="login.website.go">Google</string>
     <string name="login.website.fb">Фейсбук</string>
@@ -109,13 +108,6 @@
     <!-- 🖍 notes tab -->
     <string name="notes.error.empty">Нет новых комментариев</string>
 
-    <!-- permissions -->
-    <string name="permissions.title">Разрешения</string>
-    <string name="permissions.message.rationale">Для авторизации через uLogin необходимо дать разрешение на чтение идентификатора телефона.</string>
-    <string name="permissions.button.rationale">Продолжить</string>
-    <string name="permissions.message.settings">Разрешите доступ к телефону в\u00a0настройках</string>
-    <string name="permissions.button.settings">Настройки</string>
-
     <!-- social networks -->
     <string name="common.social.facebook">Фейсбук</string>
     <string name="common.social.instagram">Инстаграм</string>

+ 0 - 8
app/src/main/res/values/strings.xml

@@ -26,7 +26,6 @@
 
     <!-- login -->
     <string name="login.title">Log in with…</string>
-    <string name="login.legacy">Legacy log in</string>
     <string name="login.website.vk">VKontakte</string>
     <string name="login.website.go">Google</string>
     <string name="login.website.fb">Facebook</string>
@@ -108,13 +107,6 @@
     <!-- 🖍 notes tab -->
     <string name="notes.error.empty">No one is posted yet</string>
 
-    <!-- permissions -->
-    <string name="permissions.title">Permissions</string>
-    <string name="permissions.message.rationale">Phone permission is necessary to authorize you by using uLogin library.</string>
-    <string name="permissions.button.rationale">Continue</string>
-    <string name="permissions.message.settings">Allow phone permission in settings</string>
-    <string name="permissions.button.settings">Settings</string>
-
     <!-- social networks -->
     <string name="common.social.facebook">Facebook</string>
     <string name="common.social.instagram">Instagram</string>