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

Remove sustainer UI #1644

Merged
merged 3 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,10 @@
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.ViewModelProvider;
import androidx.preference.PreferenceManager;

import com.automattic.simplenote.analytics.AnalyticsTracker;
import com.automattic.simplenote.authentication.SimplenoteAuthenticationActivity;
import com.automattic.simplenote.billing.SubscriptionBottomSheetDialog;
import com.automattic.simplenote.models.Note;
import com.automattic.simplenote.models.Tag;
import com.automattic.simplenote.repositories.CollaboratorsRepository;
Expand All @@ -89,10 +87,7 @@
import com.automattic.simplenote.utils.TagsAdapter;
import com.automattic.simplenote.utils.ThemeUtils;
import com.automattic.simplenote.utils.UndoBarController;
import com.automattic.simplenote.viewmodels.IapViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.navigation.NavigationView;
import com.google.android.material.snackbar.Snackbar;
import com.simperium.Simperium;
import com.simperium.client.Bucket;
import com.simperium.client.BucketObjectMissingException;
Expand Down Expand Up @@ -151,8 +146,6 @@ public void run() {
}
};

private IapViewModel viewModel;

// Menu drawer
private static final int GROUP_PRIMARY = 100;
private static final int GROUP_SECONDARY = 101;
Expand Down Expand Up @@ -207,7 +200,6 @@ public void onBeforeUpdateObject(Bucket<Tag> bucket, Tag object) {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewModel = new ViewModelProvider(this).get(IapViewModel.class);

AppLog.add(Type.NETWORK, NetworkUtils.getNetworkInfo(NotesActivity.this));
AppLog.add(Type.SCREEN, "Created (NotesActivity)");
Expand All @@ -224,36 +216,6 @@ protected void onCreate(Bundle savedInstanceState) {
mTagsBucket = currentApp.getTagsBucket();
}

findViewById(R.id.iap_banner).setOnClickListener(view -> viewModel.onIapBannerClicked());

viewModel.getPlansBottomSheetVisibility().observe(this, isVisible -> {
BottomSheetDialogFragment fragment = (BottomSheetDialogFragment) getSupportFragmentManager().findFragmentByTag(SubscriptionBottomSheetDialog.getTAG());
if (isVisible) {
if (fragment == null) {
fragment = new SubscriptionBottomSheetDialog();
}
if (!(fragment.getDialog() != null && fragment.getDialog().isShowing())) {
fragment.show(getSupportFragmentManager(), SubscriptionBottomSheetDialog.getTAG());
}
} else {
if (fragment != null && fragment.isVisible()) {
fragment.dismiss();
}
}
});

viewModel.getSnackbarMessage().observe(this, message -> {
Snackbar.make(findViewById(R.id.drawer_layout), message.getMessageResId(), Snackbar.LENGTH_SHORT).show();
});

viewModel.getIapBannerVisibility().observe(this, isVisible -> {
if (isVisible) {
findViewById(R.id.iap_banner).setVisibility(View.VISIBLE);
} else {
findViewById(R.id.iap_banner).setVisibility(View.GONE);
}
});

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
configureNavigationDrawer(toolbar);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,14 @@

import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.FragmentManager;
import androidx.lifecycle.ViewModelProvider;
import androidx.preference.Preference;

import com.automattic.simplenote.billing.SubscriptionBottomSheetDialog;
import com.automattic.simplenote.models.Preferences;
import com.automattic.simplenote.utils.BrowserUtils;
import com.automattic.simplenote.viewmodels.IapViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.snackbar.Snackbar;
import com.simperium.client.Bucket;
import com.simperium.client.BucketObjectMissingException;

import org.wordpress.passcodelock.PasscodePreferenceFragment;
import org.wordpress.passcodelock.PasscodePreferenceFragmentCompat;

import static com.automattic.simplenote.PreferencesFragment.WEB_APP_URL;
import static com.automattic.simplenote.models.Preferences.PREFERENCES_OBJECT_KEY;
import static com.automattic.simplenote.utils.DisplayUtils.disableScreenshotsIfLocked;

import dagger.hilt.android.AndroidEntryPoint;
Expand All @@ -31,12 +22,6 @@
public class PreferencesActivity extends ThemedAppCompatActivity {
private PasscodePreferenceFragmentCompat mPasscodePreferenceFragment;
private PreferencesFragment mPreferencesFragment;
private Bucket<Preferences> mPreferencesBucket;

private IapViewModel mViewModel;

private View mIapBanner;
private View mIapThankYouBanner;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -53,65 +38,6 @@ protected void onCreate(Bundle savedInstanceState) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

mIapBanner = findViewById(R.id.iap_banner);
mIapThankYouBanner = findViewById(R.id.iap_thank_you_banner);

Simplenote currentApp = (Simplenote) getApplication();
mPreferencesBucket = currentApp.getPreferencesBucket();

try {
if (mPreferencesBucket.get(PREFERENCES_OBJECT_KEY).getCurrentSubscriptionPlatform() == null) {
mIapThankYouBanner.setVisibility(View.GONE);

mViewModel = new ViewModelProvider(this).get(IapViewModel.class);

findViewById(R.id.iap_banner).setOnClickListener(view -> mViewModel.onIapBannerClicked());

mViewModel.getPlansBottomSheetVisibility().observe(this, isVisible -> {
BottomSheetDialogFragment fragment = (BottomSheetDialogFragment) getSupportFragmentManager().findFragmentByTag(SubscriptionBottomSheetDialog.getTAG());
if (isVisible) {
if (fragment == null) {
fragment = new SubscriptionBottomSheetDialog();
}
if (!(fragment.getDialog() != null && fragment.getDialog().isShowing())) {
fragment.show(getSupportFragmentManager(), SubscriptionBottomSheetDialog.getTAG());
}
} else {
if (fragment != null && fragment.isVisible()) {
fragment.dismiss();
}
}
});

mViewModel.getSnackbarMessage().observe(this, message -> {
Snackbar.make(findViewById(R.id.main_parent_view), message.getMessageResId(), Snackbar.LENGTH_SHORT).show();
});

mViewModel.getIapBannerVisibility().observe(this, isVisible -> {
if (isVisible) {
mIapBanner.setVisibility(View.GONE);
mIapBanner.setVisibility(View.VISIBLE);
} else {
mIapBanner.setVisibility(View.GONE);
try {
if (mPreferencesBucket.get(PREFERENCES_OBJECT_KEY)
.getCurrentSubscriptionPlatform() != null) {
mIapThankYouBanner.setVisibility(View.VISIBLE);
}
} catch (BucketObjectMissingException e) {
mIapThankYouBanner.setVisibility(View.GONE);
}
}
});
} else {
mIapBanner.setVisibility(View.GONE);
mIapThankYouBanner.setVisibility(View.VISIBLE);
}
} catch (BucketObjectMissingException e) {
mIapBanner.setVisibility(View.GONE);
mIapThankYouBanner.setVisibility(View.GONE);
}

String preferencesTag = "tag_preferences";
String passcodeTag = "tag_passcode";
if (savedInstanceState == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,12 +172,7 @@ public enum Stat {
VERIFICATION_CHANGE_EMAIL_BUTTON_TAPPED,
VERIFICATION_RESEND_EMAIL_BUTTON_TAPPED,
VERIFICATION_DISMISSED,
SETTINGS_SEARCH_SORT_MODE,
IAP_MONTHLY_BUTTON_TAPPED,
IAP_YEARLY_BUTTON_TAPPED,
IAP_UNKNOWN_BUTTON_TAPPED, // for other subscription duration options from Play Store not specifically handled in the client
IAP_PURCHASE_COMPLETED,
IAP_PLANS_DIALOG_DISMISSED
SETTINGS_SEARCH_SORT_MODE
}

public interface Tracker {
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,8 @@ public class Preferences extends BucketObject {
public static final String BUCKET_NAME = "preferences";
public static final String PREFERENCES_OBJECT_KEY = "preferences-key";
public static final int MAX_RECENT_SEARCHES = 5;

private static final String ANALYTICS_ENABLED_KEY = "analytics_enabled";
private static final String RECENT_SEARCHES_KEY = "recent_searches";

private static final String SUBSCRIPTION_LEVEL_KEY = "subscription_level";
private static final String SUBSCRIPTION_PLATFORM_KEY = "subscription_platform";
private static final String SUBSCRIPTION_DATE_KEY = "subscription_date";
Expand Down Expand Up @@ -77,6 +75,7 @@ public void setRecentSearches(List<String> recents) {
setProperty(RECENT_SEARCHES_KEY, new JSONArray(recents));
}

// These are legacy "Simplenote sustainer" methods. Keeping around for testing purposes.
public void setActiveSubscription(long purchaseTime){
setSubscriptionPlatform(Preferences.SubscriptionPlatform.ANDROID);
setSubscriptionLevel(Preferences.SubscriptionLevel.SUSTAINER);
Expand Down
Loading
Loading