Skip to content

Commit 1edb206

Browse files
committed
Merge remote-tracking branch 'origin/trunk' into merge/23.8-rc-5-to-trunk
2 parents ae28eda + ff034ae commit 1edb206

39 files changed

Lines changed: 325 additions & 1000 deletions

WordPress/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ android {
143143
buildConfigField "boolean", "PLANS_IN_SITE_CREATION", "false"
144144
buildConfigField "boolean", "READER_IMPROVEMENTS", "false"
145145
buildConfigField "boolean", "BLOGANUARY_DASHBOARD_NUDGE", "false"
146+
buildConfigField "boolean", "IN_APP_REVIEWS", "false"
146147

147148
// Override these constants in jetpack product flavor to enable/ disable features
148149
buildConfigField "boolean", "ENABLE_SITE_CREATION", "true"

WordPress/src/main/AndroidManifest.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,11 +1040,6 @@
10401040
android:name="com.google.android.gms.version"
10411041
android:value="@integer/google_play_services_version" />
10421042

1043-
<service
1044-
android:name=".push.GCMRegistrationIntentService"
1045-
android:permission="android.permission.BIND_JOB_SERVICE"
1046-
android:exported="false" />
1047-
10481043
<service
10491044
android:name=".push.GCMMessageService"
10501045
android:exported="false">

WordPress/src/main/java/org/wordpress/android/AppInitializer.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import android.app.NotificationManager
1111
import android.app.SyncNotedAppOp
1212
import android.content.ComponentCallbacks2
1313
import android.content.Context
14-
import android.content.Intent
1514
import android.content.IntentFilter
1615
import android.content.res.Configuration
1716
import android.database.SQLException
@@ -76,7 +75,7 @@ import org.wordpress.android.modules.APPLICATION_SCOPE
7675
import org.wordpress.android.networking.ConnectionChangeReceiver
7776
import org.wordpress.android.networking.OAuthAuthenticator
7877
import org.wordpress.android.networking.RestClientUtils
79-
import org.wordpress.android.push.GCMRegistrationIntentService
78+
import org.wordpress.android.push.GCMRegistrationScheduler
8079
import org.wordpress.android.push.NotificationType
8180
import org.wordpress.android.support.ZendeskHelper
8281
import org.wordpress.android.ui.ActivityId
@@ -193,6 +192,9 @@ class AppInitializer @Inject constructor(
193192
@Inject
194193
lateinit var wordPressWorkerFactory: WordPressWorkersFactory
195194

195+
@Inject
196+
lateinit var gcmRegistrationScheduler: GCMRegistrationScheduler
197+
196198
@Inject
197199
lateinit var debugCookieManager: DebugCookieManager
198200

@@ -646,10 +648,7 @@ class AppInitializer @Inject constructor(
646648

647649
if (accountStore.hasAccessToken()) {
648650
// Make sure the Push Notification token is sent to our servers after a successful login
649-
GCMRegistrationIntentService.enqueueWork(
650-
application,
651-
Intent(application, GCMRegistrationIntentService::class.java)
652-
)
651+
gcmRegistrationScheduler.scheduleRegistration()
653652

654653
// Force a refresh if user has logged in. This can be removed once we start using an anonymous ID.
655654
exPlat.forceRefresh()
@@ -815,10 +814,7 @@ class AppInitializer @Inject constructor(
815814
// Sync Push Notifications settings
816815
if (isPushNotificationPingNeeded && accountStore.hasAccessToken()) {
817816
// Register for Cloud messaging
818-
GCMRegistrationIntentService.enqueueWork(
819-
context,
820-
Intent(context, GCMRegistrationIntentService::class.java)
821-
)
817+
gcmRegistrationScheduler.scheduleRegistration()
822818
}
823819
}
824820

WordPress/src/main/java/org/wordpress/android/push/GCMMessageService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.wordpress.android.push;
22

3-
import android.content.Intent;
43
import android.os.Bundle;
54

65
import androidx.annotation.NonNull;
@@ -40,6 +39,8 @@ public class GCMMessageService extends FirebaseMessagingService {
4039
@Inject GCMMessageHandler mGCMMessageHandler;
4140
@Inject JetpackFeatureRemovalPhaseHelper mJetpackFeatureRemovalPhaseHelper;
4241

42+
@Inject GCMRegistrationScheduler mGCMRegistrationScheduler;
43+
4344
private void synchronizedHandleDefaultPush(@NonNull Map<String, String> data) {
4445
// ACTIVE_NOTIFICATIONS_MAP being static, we can't just synchronize the method
4546
mSystemNotificationsTracker.track(AnalyticsTracker.Stat.NOTIFICATION_RECEIVED_PROCESSING_START);
@@ -98,7 +99,6 @@ public void onMessageReceived(RemoteMessage message) {
9899

99100
@Override public void onNewToken(@NonNull String s) {
100101
super.onNewToken(s);
101-
GCMRegistrationIntentService.enqueueWork(this,
102-
new Intent(this, GCMRegistrationIntentService.class));
102+
mGCMRegistrationScheduler.scheduleRegistration();
103103
}
104104
}

WordPress/src/main/java/org/wordpress/android/push/GCMRegistrationIntentService.java

Lines changed: 0 additions & 89 deletions
This file was deleted.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.wordpress.android.push
2+
3+
import androidx.work.ExistingWorkPolicy
4+
import androidx.work.OneTimeWorkRequestBuilder
5+
import androidx.work.WorkManager
6+
import org.wordpress.android.viewmodel.ContextProvider
7+
import org.wordpress.android.workers.notification.push.GCMRegistrationWorker
8+
import javax.inject.Inject
9+
10+
class GCMRegistrationScheduler @Inject constructor(
11+
val contextProvider: ContextProvider
12+
) {
13+
private val workManager by lazy { WorkManager.getInstance(contextProvider.getContext()) }
14+
15+
fun scheduleRegistration() {
16+
workManager.enqueueUniqueWork(
17+
UNIQUE_WORK_NAME,
18+
ExistingWorkPolicy.KEEP,
19+
buildOneTimeWorkRequest()
20+
)
21+
}
22+
23+
private fun buildOneTimeWorkRequest() =
24+
OneTimeWorkRequestBuilder<GCMRegistrationWorker>()
25+
.addTag(UNIQUE_WORK_NAME)
26+
.build()
27+
28+
companion object {
29+
const val UNIQUE_WORK_NAME = "GCMRegistrationWork"
30+
}
31+
}

WordPress/src/main/java/org/wordpress/android/ui/blaze/blazepromote/BlazePromoteWebViewFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class BlazePromoteWebViewFragment: Fragment(), OnBlazeWebViewClientListener,
124124

125125
@Suppress("DEPRECATION")
126126
override fun startActivityForFileChooserResult(intent: Intent?, requestCode: Int) {
127-
startActivityForResult(intent, requestCode)
127+
intent?.let { startActivityForResult(it, requestCode) }
128128
}
129129

130130
@Suppress("DEPRECATION", "OVERRIDE_DEPRECATION")

WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
import org.wordpress.android.networking.ConnectionChangeReceiver;
6767
import org.wordpress.android.push.GCMMessageHandler;
6868
import org.wordpress.android.push.GCMMessageService;
69-
import org.wordpress.android.push.GCMRegistrationIntentService;
69+
import org.wordpress.android.push.GCMRegistrationScheduler;
7070
import org.wordpress.android.push.NativeNotificationsUtils;
7171
import org.wordpress.android.push.NotificationType;
7272
import org.wordpress.android.push.NotificationsProcessingService;
@@ -276,6 +276,8 @@ public class WPMainActivity extends LocaleAwareActivity implements
276276

277277
@Inject BuildConfigWrapper mBuildConfigWrapper;
278278

279+
@Inject GCMRegistrationScheduler mGCMRegistrationScheduler;
280+
279281
/*
280282
* fragments implement this if their contents can be scrolled, called when user
281283
* requests to scroll to the top
@@ -471,8 +473,7 @@ && getIntent().getExtras().getBoolean(ARG_CONTINUE_JETPACK_CONNECT, false)) {
471473

472474
if (isGooglePlayServicesAvailable(this)) {
473475
// Register for Cloud messaging
474-
GCMRegistrationIntentService.enqueueWork(this,
475-
new Intent(this, GCMRegistrationIntentService.class));
476+
mGCMRegistrationScheduler.scheduleRegistration();
476477
}
477478

478479
if (canShowAppRatingPrompt) {
@@ -1386,8 +1387,7 @@ public void onClick(View v) {
13861387
case RequestCodes.REAUTHENTICATE:
13871388
if (resultCode == RESULT_OK) {
13881389
// Register for Cloud messaging
1389-
GCMRegistrationIntentService.enqueueWork(this,
1390-
new Intent(this, GCMRegistrationIntentService.class));
1390+
mGCMRegistrationScheduler.scheduleRegistration();
13911391
}
13921392
break;
13931393
case RequestCodes.LOGIN_EPILOGUE:
@@ -1448,8 +1448,7 @@ private void appLanguageChanged() {
14481448
}
14491449

14501450
private void startWithNewAccount() {
1451-
GCMRegistrationIntentService.enqueueWork(this,
1452-
new Intent(this, GCMRegistrationIntentService.class));
1451+
mGCMRegistrationScheduler.scheduleRegistration();
14531452
ReaderUpdateServiceStarter.startService(this, EnumSet.of(UpdateTask.TAGS, UpdateTask.FOLLOWED_BLOGS));
14541453
}
14551454

WordPress/src/main/java/org/wordpress/android/ui/mysite/cards/dashboard/CardsBuilder.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ class CardsBuilder @Inject constructor(
3737
bloggingPromptCardBuilder.build(dashboardCardsBuilderParams.bloggingPromptCardBuilderParams)
3838
?.let { add(it) }
3939

40-
domainTransferCardBuilder
41-
.build(dashboardCardsBuilderParams.domainTransferCardBuilderParams)
42-
?.let { add(it) }
43-
4440
if (dashboardCardsBuilderParams.blazeCardBuilderParams != null) {
4541
add(blazeCardBuilder.build(dashboardCardsBuilderParams.blazeCardBuilderParams))
4642
}
@@ -57,6 +53,10 @@ class CardsBuilder @Inject constructor(
5753
pagesCardBuilder.build(dashboardCardsBuilderParams.pagesCardBuilderParams)?.let { add(it) }
5854

5955
activityCardBuilder.build(dashboardCardsBuilderParams.activityCardBuilderParams)?.let { add(it) }
56+
57+
domainTransferCardBuilder
58+
.build(dashboardCardsBuilderParams.domainTransferCardBuilderParams)
59+
?.let { add(it) }
6060
}
6161
}.toList()
6262

WordPress/src/main/java/org/wordpress/android/ui/mysite/personalization/PersonalizationActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class PersonalizationActivity : AppCompatActivity() {
6868
PersonalizationScreen()
6969
}
7070
}
71+
viewModel.onSelectedSiteMissing.observe(this) { finish() }
7172
}
7273

7374
@Composable

0 commit comments

Comments
 (0)