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