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.main
commit
36b8664fb4
@ -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) |
||||||
|
} |
@ -0,0 +1,34 @@ |
|||||||
|
package com.keylesspalace.tusky.util |
||||||
|
|
||||||
|
import android.app.Activity |
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
||||||
|
import com.keylesspalace.tusky.FakeTuskyApplication |
||||||
|
import org.junit.Assert.assertFalse |
||||||
|
import org.junit.Assert.assertTrue |
||||||
|
import org.junit.Before |
||||||
|
import org.junit.Test |
||||||
|
import org.junit.runner.RunWith |
||||||
|
import org.robolectric.Robolectric |
||||||
|
import org.robolectric.annotation.Config |
||||||
|
|
||||||
|
@Config(application = FakeTuskyApplication::class) |
||||||
|
@RunWith(AndroidJUnit4::class) |
||||||
|
class RickRollTest { |
||||||
|
private lateinit var activity: Activity |
||||||
|
@Before |
||||||
|
fun setupActivity() { |
||||||
|
val controller = Robolectric.buildActivity(Activity::class.java) |
||||||
|
activity = controller.get() |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testShouldRickRoll() { |
||||||
|
listOf("gab.Com", "social.gab.ai", "whatever.GAB.com").forEach { |
||||||
|
rollableDomain -> assertTrue(shouldRickRoll(activity, rollableDomain)) |
||||||
|
} |
||||||
|
|
||||||
|
listOf("chaos.social", "notgab.com").forEach { |
||||||
|
notRollableDomain -> assertFalse(shouldRickRoll(activity, notRollableDomain)) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue