Merge pull request #1303 from mlc/rick_roll_domains

Rick roll instead of logging in on selected domains. This is not censorship, but rather a choice by this house who will facilitate our services to.
This commit is contained in:
Marie Axelsson 2019-06-17 12:37:15 +02:00 committed by GitHub
commit 5d04a7ccda
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 67 additions and 0 deletions

View file

@ -34,6 +34,8 @@ import com.keylesspalace.tusky.entity.AccessToken
import com.keylesspalace.tusky.entity.AppCredentials
import com.keylesspalace.tusky.network.MastodonApi
import com.keylesspalace.tusky.util.ThemeUtils
import com.keylesspalace.tusky.util.rickRoll
import com.keylesspalace.tusky.util.shouldRickRoll
import kotlinx.android.synthetic.main.activity_login.*
import okhttp3.HttpUrl
import retrofit2.Call
@ -138,6 +140,11 @@ class LoginActivity : BaseActivity(), Injectable {
return
}
if (shouldRickRoll(this, domain)) {
rickRoll(this)
return
}
val callback = object : Callback<AppCredentials> {
override fun onResponse(call: Call<AppCredentials>,
response: Response<AppCredentials>) {

View file

@ -0,0 +1,20 @@
package com.keylesspalace.tusky.util
import android.content.Context
import android.content.Intent
import android.net.Uri
import com.keylesspalace.tusky.R
fun shouldRickRoll(context: Context, domain: String) =
context.resources.getStringArray(R.array.rick_roll_domains).any { candidate ->
domain.equals(candidate, true) || domain.endsWith(".$candidate", true)
}
fun rickRoll(context: Context) {
val uri = Uri.parse(context.getString(R.string.rick_roll_url))
val intent = Intent(Intent.ACTION_VIEW, uri).apply {
addCategory(Intent.CATEGORY_BROWSABLE)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
context.startActivity(intent)
}