aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt')
-rw-r--r--app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt b/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
new file mode 100644
index 00000000..1f0eb5d3
--- /dev/null
+++ b/app/src/main/kotlin/com/pitchedapps/frost/utils/ContextUtils.kt
@@ -0,0 +1,40 @@
+package com.pitchedapps.frost.utils
+
+import android.app.Activity
+import android.content.Context
+import android.content.Intent
+import android.support.v4.app.ActivityOptionsCompat
+import android.support.v4.content.ContextCompat
+import com.pitchedapps.frost.R
+import com.pitchedapps.frost.WebOverlayActivity
+import com.pitchedapps.frost.dbflow.CookieModel
+import com.pitchedapps.frost.facebook.FbTab
+
+/**
+ * Created by Allan Wang on 2017-06-03.
+ */
+private const val EXTRA_COOKIES = "extra_cookies"
+private const val ARG_URL = "arg_url"
+
+fun Activity.launchNewTask(clazz: Class<out Activity>, cookieList: ArrayList<CookieModel> = arrayListOf()) {
+ val intent = (Intent(this, clazz))
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
+ intent.putParcelableArrayListExtra(EXTRA_COOKIES, cookieList)
+ startActivity(intent)
+ finish()
+}
+
+fun Activity.cookies(): ArrayList<CookieModel> {
+ return intent.extras?.getParcelableArrayList<CookieModel>(EXTRA_COOKIES) ?: arrayListOf()
+}
+
+fun Context.launchWebOverlay(url: String) {
+ val intent = Intent(this, WebOverlayActivity::class.java)
+ intent.putExtra(ARG_URL, url)
+ val bundle = ActivityOptionsCompat.makeCustomAnimation(this, R.anim.slide_in_right, R.anim.slide_out_right).toBundle()
+ ContextCompat.startActivity(this, intent, bundle)
+}
+
+fun WebOverlayActivity.url(): String {
+ return intent.extras?.getString(ARG_URL) ?: FbTab.FEED.url
+} \ No newline at end of file