1
0
Fork 0

Review comments, fix build failure and targetActivity

master
Jonathan Almeida 2020-01-15 13:57:22 -05:00 committed by Grisha Kruglov
parent b89afe7b7c
commit 261a6162af
6 changed files with 28 additions and 34 deletions

View File

@ -33,10 +33,14 @@
We inherited this entry (${applicationId}.App) from Fennec. We need to keep this as our
main launcher to avoid launcher icons on the home screen disappearing for all our users
on a Fennec build.
!!HERE BE DRAGONS!!
We need the targetActivity to be IntentReceiverActivity so that we can check if we have
a migration in progress. If not, the HomeActivity is invoked.
-->
<activity-alias
android:name="${applicationId}.App"
android:targetActivity=".HomeActivity">
android:targetActivity=".IntentReceiverActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@ -96,7 +100,7 @@
android:taskAffinity=""
android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />
<activity android:name=".IntentReceiverActivity">
<activity android:name=".IntentReceiverActivity" android:theme="@style/Theme.Transparent">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@ -162,6 +166,12 @@
</activity>
<activity
android:name=".migration.MigrationProgressActivity"
android:launchMode="singleInstance"
android:exported="false">
</activity>
<activity android:name=".widget.VoiceSearchActivity" />
<activity

View File

@ -7,7 +7,7 @@ package org.mozilla.fenix.components
import android.content.Intent
import mozilla.components.feature.intent.processing.IntentProcessor
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.MigrationProgressActivity
import org.mozilla.fenix.migration.MigrationProgressActivity
import org.mozilla.fenix.customtabs.ExternalAppBrowserActivity
enum class IntentProcessorType {

View File

@ -2,7 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix
package org.mozilla.fenix.migration
import android.os.Bundle
import android.view.LayoutInflater
@ -24,6 +24,9 @@ import mozilla.components.support.migration.Migration.Settings
import mozilla.components.support.migration.MigrationResults
import mozilla.components.support.migration.state.MigrationProgress
import mozilla.components.support.migration.state.MigrationStore
import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.IntentReceiverActivity
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components
class MigrationProgressActivity : AbstractMigrationProgressActivity() {
@ -31,9 +34,9 @@ class MigrationProgressActivity : AbstractMigrationProgressActivity() {
override val store: MigrationStore by lazy { components.migrationStore }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_migration)
init()
super.onCreate(savedInstanceState)
}
fun init() {
@ -60,16 +63,6 @@ class MigrationProgressActivity : AbstractMigrationProgressActivity() {
}
}
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
if (hasFocus) {
// Enables sticky immersive mode.
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_FULLSCREEN)
}
}
override fun onMigrationCompleted() {
// Enable clicking the finish button
migration_button.apply {

View File

@ -379,4 +379,12 @@
<item name="android:textSize">14sp</item>
</style>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>

View File

@ -13,11 +13,6 @@
android:name="org.mozilla.fenix.MigratingFenixApplication"
tools:replace="android:name">
<service android:name="org.mozilla.fenix.MigrationService" />
<activity
android:name="org.mozilla.fenix.MigrationProgressActivity"
android:exported="false">
</activity>
</application>
</manifest>

View File

@ -5,10 +5,8 @@
package org.mozilla.fenix
import android.content.Context
import android.content.Intent
import kotlinx.coroutines.runBlocking
import mozilla.components.support.migration.FennecMigrator
import mozilla.components.support.migration.state.MigrationStore
/**
* An application class which knows how to migrate Fennec data.
@ -28,13 +26,11 @@ class MigratingFenixApplication : FenixApplication() {
.build()
}
val migrationStore by lazy { MigrationStore() }
val migrationPushSubscriber by lazy {
MigrationPushSubscriber(
this,
components.backgroundServices.pushService,
migrationStore
components.migrationStore
)
}
@ -47,11 +43,7 @@ class MigratingFenixApplication : FenixApplication() {
// The rest of the migrations can happen now.
migrationPushSubscriber.start()
migrator.startMigrationIfNeeded(migrationStore, MigrationService::class.java)
// Start migration UI
val intent = Intent(this, MigrationProgressActivity::class.java)
startActivity(intent)
migrator.startMigrationIfNeeded(components.migrationStore, MigrationService::class.java)
}
private fun migrateBlocking() {
@ -71,7 +63,3 @@ class MigratingFenixApplication : FenixApplication() {
fun Context.getMigratorFromApplication(): FennecMigrator {
return (applicationContext as MigratingFenixApplication).migrator
}
fun Context.getMigrationStoreFromApplication(): MigrationStore {
return (applicationContext as MigratingFenixApplication).migrationStore
}