From ab7ec131b62ac1567e983c846c921bd3ada11dd4 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Mon, 7 Aug 2017 14:56:48 -0700 Subject: Fix/2FA (#115) * Create basis for downloading videos * Resolve some download errors and allow video to be opened in external apps * Remove url checks for loging * Update readme with build links * Allow for all apks to build * Fix travis apk uploads * Fix null mapping * Fix some notation * Add commit message to test builds * Remove faulty commit from test release * Add intent overriding to login web client * Add resource logging * Add intent verification without url check * Simplify login activity * Check start activity for result * Add check before resolving intent * Fix wrong index * Temporary fix for 2FA login with U2F (#116) * Clean up and add comments --- .../com/pitchedapps/frost/activities/AboutActivity.kt | 2 +- .../com/pitchedapps/frost/activities/ImageActivity.kt | 18 ++---------------- .../com/pitchedapps/frost/activities/LoginActivity.kt | 19 +++++++++++-------- .../com/pitchedapps/frost/activities/MainActivity.kt | 1 - 4 files changed, 14 insertions(+), 26 deletions(-) (limited to 'app/src/main/kotlin/com/pitchedapps/frost/activities') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt index a1717de1..fbcd12cc 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/AboutActivity.kt @@ -73,7 +73,7 @@ class AboutActivity : AboutActivityBase(null, { * Frost may not be a library but we're conveying the same info */ val frost = Library().apply { - libraryName = string(R.string.app_name) + libraryName = string(R.string.frost_name) author = "Pitched Apps" libraryWebsite = "https://github.com/AllanWang/Frost-for-Facebook" isOpenSource = true diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt index e419c21c..6a39b269 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/ImageActivity.kt @@ -148,7 +148,7 @@ class ImageActivity : KauBaseActivity() { private fun saveTempImage(resource: Bitmap, callback: (uri: Uri?) -> Unit) { var photoFile: File? = null try { - photoFile = createImageFile() + photoFile = createPrivateMediaFile(".png") } catch (ignored: IOException) { } finally { if (photoFile == null) { @@ -166,27 +166,13 @@ class ImageActivity : KauBaseActivity() { } } - @Throws(IOException::class) - private fun createImageFile(): File { - // Create an image file name - val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) - val imageFileName = "Frost_" + timeStamp + "_" - val storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES) - return File.createTempFile(imageFileName, ".png", storageDir) - } - internal fun downloadImage() { kauRequestPermissions(PERMISSION_WRITE_EXTERNAL_STORAGE) { granted, _ -> L.d("Download image callback granted: $granted") if (granted) { doAsync { - val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date()) - val imageFileName = "Frost_" + timeStamp + "_" - val storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) - val frostDir = File(storageDir, "Frost") - if (!frostDir.exists()) frostDir.mkdirs() - val destination = File.createTempFile(imageFileName, ".png", frostDir) + val destination = createMediaFile(".png") downloadPath = destination.absolutePath var success = true try { diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt index 8503145e..47c286fa 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/LoginActivity.kt @@ -1,5 +1,6 @@ package com.pitchedapps.frost.activities +import android.content.Intent import android.graphics.drawable.Drawable import android.os.Bundle import android.os.Handler @@ -27,7 +28,6 @@ import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.functions.BiFunction import io.reactivex.internal.operators.single.SingleToObservable -import io.reactivex.subjects.BehaviorSubject import io.reactivex.subjects.SingleSubject @@ -42,8 +42,6 @@ class LoginActivity : BaseActivity() { val textview: AppCompatTextView by bindView(R.id.textview) val profile: ImageView by bindView(R.id.profile) - val loginObservable = SingleSubject.create() - val progressObservable = BehaviorSubject.create()!! val profileObservable = SingleSubject.create() val usernameObservable = SingleSubject.create() @@ -62,17 +60,14 @@ class LoginActivity : BaseActivity() { setSupportActionBar(toolbar) setTitle(R.string.kau_login) setFrostColors(toolbar) - web.loginObservable = loginObservable - web.progressObservable = progressObservable - loginObservable.observeOn(AndroidSchedulers.mainThread()).subscribe { + web.loadLogin({ refresh = it != 100 }) { cookie -> + L.d("Login found") web.fadeOut(onFinish = { profile.fadeIn() loadInfo(cookie) }) } - progressObservable.observeOn(AndroidSchedulers.mainThread()).subscribe { refresh = it != 100 } - web.loadLogin() } fun loadInfo(cookie: CookieModel) { @@ -124,4 +119,12 @@ class LoginActivity : BaseActivity() { fun loadUsername(cookie: CookieModel) { cookie.fetchUsername { usernameObservable.onSuccess(it) } } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + if (requestCode == 999) { + L.d("Result found for activity with result $resultCode") + L.d("Intent data ${data?.extras.toString()}") + } else + super.onActivityResult(requestCode, resultCode, data) + } } \ No newline at end of file diff --git a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt index df1228bd..e8148b55 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/activities/MainActivity.kt @@ -350,7 +350,6 @@ class MainActivity : BaseActivity(), SearchWebView.SearchContract, hiddenSearchView?.dispose() hiddenSearchView = null searchView = null - //todo remove true searchview and add contract } override fun emitSearchResponse(items: List) { -- cgit v1.2.3