Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed missing tracks for error notifications #12184

Merged
merged 12 commits into from Jul 20, 2020
Expand Up @@ -66,6 +66,7 @@
import org.wordpress.android.ui.pages.PageListFragment;
import org.wordpress.android.ui.pages.PageParentFragment;
import org.wordpress.android.ui.pages.PageParentSearchFragment;
import org.wordpress.android.ui.pages.PagesActivity;
import org.wordpress.android.ui.pages.PagesFragment;
import org.wordpress.android.ui.pages.SearchListFragment;
import org.wordpress.android.ui.people.PeopleInviteFragment;
Expand Down Expand Up @@ -341,6 +342,8 @@ public interface AppComponent extends AndroidInjector<WordPress> {

void inject(PostsListActivity object);

void inject(PagesActivity object);

void inject(AuthorSelectionAdapter object);

void inject(PostListFragment object);
Expand Down
Expand Up @@ -60,6 +60,7 @@
import org.wordpress.android.fluxc.store.MediaStore.OnMediaUploaded;
import org.wordpress.android.fluxc.store.SiteStore;
import org.wordpress.android.fluxc.store.SiteStore.OnSiteChanged;
import org.wordpress.android.push.NotificationType;
import org.wordpress.android.ui.ActivityId;
import org.wordpress.android.ui.ActivityLauncher;
import org.wordpress.android.ui.LocaleAwareActivity;
Expand All @@ -68,6 +69,7 @@
import org.wordpress.android.ui.media.MediaGridFragment.MediaFilter;
import org.wordpress.android.ui.media.MediaGridFragment.MediaGridListener;
import org.wordpress.android.ui.media.services.MediaDeleteService;
import org.wordpress.android.ui.notifications.SystemNotificationsTracker;
import org.wordpress.android.ui.plans.PlansConstants;
import org.wordpress.android.ui.uploads.UploadService;
import org.wordpress.android.ui.uploads.UploadUtilsWrapper;
Expand Down Expand Up @@ -95,6 +97,7 @@
import javax.inject.Inject;

import static org.wordpress.android.analytics.AnalyticsTracker.Stat.APP_REVIEWS_EVENT_INCREMENTED_BY_UPLOADING_MEDIA;
import static org.wordpress.android.push.NotificationsProcessingService.ARG_NOTIFICATION_TYPE;

/**
* The main activity in which the user can browse their media.
Expand All @@ -114,6 +117,7 @@ public class MediaBrowserActivity extends LocaleAwareActivity implements MediaGr
@Inject MediaStore mMediaStore;
@Inject SiteStore mSiteStore;
@Inject UploadUtilsWrapper mUploadUtilsWrapper;
@Inject SystemNotificationsTracker mSystemNotificationsTracker;
@Inject TenorFeatureConfig mTenorFeatureConfig;

private SiteModel mSite;
Expand Down Expand Up @@ -225,6 +229,18 @@ public void onCreate(Bundle savedInstanceState) {
showQuota(true);
}

@Override protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);

if (intent.hasExtra(ARG_NOTIFICATION_TYPE)) {
NotificationType notificationType =
(NotificationType) intent.getSerializableExtra(ARG_NOTIFICATION_TYPE);
if (notificationType != null) {
mSystemNotificationsTracker.trackTappedNotification(notificationType);
}
}
}

private void formatQuotaDiskSpace() {
String percentage = FormatUtils.formatPercentage(mSite.getSpacePercentUsed() / 100);

Expand Down
Expand Up @@ -5,18 +5,26 @@ import android.os.Bundle
import android.view.MenuItem
import kotlinx.android.synthetic.main.pages_fragment.*
import org.wordpress.android.R
import org.wordpress.android.WordPress
import org.wordpress.android.push.NotificationType
import org.wordpress.android.push.NotificationsProcessingService.ARG_NOTIFICATION_TYPE
import org.wordpress.android.ui.LocaleAwareActivity
import org.wordpress.android.ui.notifications.SystemNotificationsTracker
import org.wordpress.android.ui.posts.BasicFragmentDialog.BasicDialogNegativeClickInterface
import org.wordpress.android.ui.posts.BasicFragmentDialog.BasicDialogPositiveClickInterface
import javax.inject.Inject

const val EXTRA_PAGE_REMOTE_ID_KEY = "extra_page_remote_id_key"
const val EXTRA_PAGE_PARENT_ID_KEY = "extra_page_parent_id_key"

class PagesActivity : LocaleAwareActivity(),
BasicDialogPositiveClickInterface,
BasicDialogNegativeClickInterface {
@Inject internal lateinit var systemNotificationTracker: SystemNotificationsTracker

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(application as WordPress).component().inject(this)

setContentView(R.layout.pages_activity)

Expand All @@ -36,6 +44,12 @@ class PagesActivity : LocaleAwareActivity(),
}

private fun handleIntent(intent: Intent) {
if (intent.hasExtra(ARG_NOTIFICATION_TYPE)) {
val notificationType: NotificationType =
intent.getSerializableExtra(ARG_NOTIFICATION_TYPE) as NotificationType
systemNotificationTracker.trackTappedNotification(notificationType)
develric marked this conversation as resolved.
Show resolved Hide resolved
}

if (intent.hasExtra(EXTRA_PAGE_REMOTE_ID_KEY)) {
val pageId = intent.getLongExtra(EXTRA_PAGE_REMOTE_ID_KEY, -1)
supportFragmentManager.findFragmentById(R.id.fragment_container)?.let {
Expand Down
Expand Up @@ -39,10 +39,13 @@ import org.wordpress.android.fluxc.model.SiteModel
import org.wordpress.android.fluxc.store.QuickStartStore
import org.wordpress.android.fluxc.store.QuickStartStore.QuickStartTask
import org.wordpress.android.fluxc.store.SiteStore
import org.wordpress.android.push.NotificationType
import org.wordpress.android.push.NotificationsProcessingService.ARG_NOTIFICATION_TYPE
import org.wordpress.android.ui.ActivityId
import org.wordpress.android.ui.ActivityLauncher
import org.wordpress.android.ui.LocaleAwareActivity
import org.wordpress.android.ui.RequestCodes
import org.wordpress.android.ui.notifications.SystemNotificationsTracker
import org.wordpress.android.ui.pages.SnackbarMessageHolder
import org.wordpress.android.ui.posts.BasicFragmentDialog.BasicDialogNegativeClickInterface
import org.wordpress.android.ui.posts.BasicFragmentDialog.BasicDialogOnDismissByOutsideTouchInterface
Expand Down Expand Up @@ -89,6 +92,7 @@ class PostsListActivity : LocaleAwareActivity(),
@Inject internal lateinit var snackbarSequencer: SnackbarSequencer
@Inject internal lateinit var uploadUtilsWrapper: UploadUtilsWrapper
@Inject internal lateinit var quickStartStore: QuickStartStore
@Inject internal lateinit var systemNotificationTracker: SystemNotificationsTracker
@Inject internal lateinit var editPostRepository: EditPostRepository

private lateinit var site: SiteModel
Expand Down Expand Up @@ -364,6 +368,12 @@ class PostsListActivity : LocaleAwareActivity(),
}

private fun loadIntentData(intent: Intent) {
if (intent.hasExtra(ARG_NOTIFICATION_TYPE)) {
val notificationType: NotificationType =
intent.getSerializableExtra(ARG_NOTIFICATION_TYPE) as NotificationType
systemNotificationTracker.trackTappedNotification(notificationType)
}

val targetPostId = intent.getIntExtra(EXTRA_TARGET_POST_LOCAL_ID, -1)
if (targetPostId != -1) {
viewModel.showTargetPost(targetPostId)
Expand Down