diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1b6f8620bf..3f2d5d5038 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -261,12 +261,7 @@ android:launchMode="singleTask" android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/> - - - - - - - - - - - - - - diff --git a/app/src/main/java/org/thoughtcrime/securesms/BasicIntroFragment.java b/app/src/main/java/org/thoughtcrime/securesms/BasicIntroFragment.java deleted file mode 100644 index d73a678023..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/BasicIntroFragment.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.thoughtcrime.securesms; - -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.TextView; - -public class BasicIntroFragment extends Fragment { - - private static final String ARG_DRAWABLE = "drawable"; - private static final String ARG_TEXT = "text"; - private static final String ARG_SUBTEXT = "subtext"; - - private int drawable; - private int text; - private int subtext; - - public static BasicIntroFragment newInstance(int drawable, int text, int subtext) { - BasicIntroFragment fragment = new BasicIntroFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_DRAWABLE, drawable); - args.putInt(ARG_TEXT, text); - args.putInt(ARG_SUBTEXT, subtext); - fragment.setArguments(args); - return fragment; - } - - public BasicIntroFragment() {} - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (getArguments() != null) { - drawable = getArguments().getInt(ARG_DRAWABLE); - text = getArguments().getInt(ARG_TEXT); - subtext = getArguments().getInt(ARG_SUBTEXT); - } - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.color_fragment, container, false); - - ((ImageView)v.findViewById(R.id.watermark)).setImageResource(drawable); - ((TextView)v.findViewById(R.id.blurb)).setText(text); - ((TextView)v.findViewById(R.id.subblurb)).setText(subtext); - - return v; - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java deleted file mode 100644 index eaa3ee5a4b..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java +++ /dev/null @@ -1,322 +0,0 @@ -package org.thoughtcrime.securesms; - -import android.app.Notification; -import android.app.PendingIntent; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.graphics.drawable.ColorDrawable; -import android.os.Bundle; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.annotation.StringRes; -import androidx.core.app.NotificationCompat; -import androidx.viewpager.widget.ViewPager; - -import com.melnykov.fab.FloatingActionButton; - -import org.thoughtcrime.securesms.IntroPagerAdapter.IntroPage; -import org.thoughtcrime.securesms.experienceupgrades.StickersIntroFragment; -import org.thoughtcrime.securesms.logging.Log; -import org.thoughtcrime.securesms.notifications.NotificationChannels; -import org.thoughtcrime.securesms.notifications.NotificationIds; -import org.thoughtcrime.securesms.profiles.edit.EditProfileActivity; -import org.thoughtcrime.securesms.util.DynamicNoActionBarTheme; -import org.thoughtcrime.securesms.util.DynamicTheme; -import org.thoughtcrime.securesms.util.ServiceUtil; -import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.Util; -import org.thoughtcrime.securesms.util.ViewUtil; -import org.whispersystems.libsignal.util.guava.Optional; - -import java.util.Collections; -import java.util.List; - -public class ExperienceUpgradeActivity extends BaseActionBarActivity - implements TypingIndicatorIntroFragment.Controller, - LinkPreviewsIntroFragment.Controller, - StickersIntroFragment.Controller -{ - private static final String TAG = ExperienceUpgradeActivity.class.getSimpleName(); - private static final String DISMISS_ACTION = "org.thoughtcrime.securesms.ExperienceUpgradeActivity.DISMISS_ACTION"; - - private final DynamicTheme dynamicTheme = new DynamicNoActionBarTheme(); - - private enum ExperienceUpgrade { - SIGNAL_REBRANDING(157, - new IntroPage(0xFF2090EA, - BasicIntroFragment.newInstance(R.drawable.splash_logo, - R.string.ExperienceUpgradeActivity_welcome_to_signal_dgaf, - R.string.ExperienceUpgradeActivity_textsecure_is_now_called_signal)), - R.string.ExperienceUpgradeActivity_welcome_to_signal_excited, - R.string.ExperienceUpgradeActivity_textsecure_is_now_signal, - R.string.ExperienceUpgradeActivity_textsecure_is_now_signal_long, - null, - false), - VIDEO_CALLS(245, - new IntroPage(0xFF2090EA, - BasicIntroFragment.newInstance(R.drawable.video_splash, - R.string.ExperienceUpgradeActivity_say_hello_to_video_calls, - R.string.ExperienceUpgradeActivity_signal_now_supports_secure_video_calls)), - R.string.ExperienceUpgradeActivity_say_hello_to_video_calls, - R.string.ExperienceUpgradeActivity_signal_now_supports_secure_video_calling, - R.string.ExperienceUpgradeActivity_signal_now_supports_secure_video_calling_long, - null, - false), - PROFILES(286, - new IntroPage(0xFF2090EA, - BasicIntroFragment.newInstance(R.drawable.profile_splash, - R.string.ExperienceUpgradeActivity_ready_for_your_closeup, - R.string.ExperienceUpgradeActivity_now_you_can_share_a_profile_photo_and_name_with_friends_on_signal)), - R.string.ExperienceUpgradeActivity_signal_profiles_are_here, - R.string.ExperienceUpgradeActivity_now_you_can_share_a_profile_photo_and_name_with_friends_on_signal, - R.string.ExperienceUpgradeActivity_now_you_can_share_a_profile_photo_and_name_with_friends_on_signal, - EditProfileActivity.class, - false), - READ_RECEIPTS(299, - new IntroPage(0xFF2090EA, - ReadReceiptsIntroFragment.newInstance()), - R.string.experience_upgrade_preference_fragment__read_receipts_are_here, - R.string.experience_upgrade_preference_fragment__optionally_see_and_share_when_messages_have_been_read, - R.string.experience_upgrade_preference_fragment__optionally_see_and_share_when_messages_have_been_read, - null, - false), - TYPING_INDICATORS(432, - new IntroPage(0xFF2090EA, - TypingIndicatorIntroFragment.newInstance()), - R.string.ExperienceUpgradeActivity_introducing_typing_indicators, - R.string.ExperienceUpgradeActivity_now_you_can_optionally_see_and_share_when_messages_are_being_typed, - R.string.ExperienceUpgradeActivity_now_you_can_optionally_see_and_share_when_messages_are_being_typed, - null, - true), - LINK_PREVIEWS(449, - new IntroPage(0xFF2090EA, LinkPreviewsIntroFragment.newInstance()), - R.string.ExperienceUpgradeActivity_introducing_link_previews, - R.string.ExperienceUpgradeActivity_optional_link_previews_are_now_supported, - R.string.ExperienceUpgradeActivity_optional_link_previews_are_now_supported, - null, - true), - STICKERS(580, - new IntroPage(0xFF2090EA, StickersIntroFragment.newInstance()), - R.string.ExperienceUpgradeActivity_introducing_stickers, - R.string.ExperienceUpgradeActivity_why_use_words_when_you_can_use_stickers, - R.string.ExperienceUpgradeActivity_why_use_words_when_you_can_use_stickers, - null, - true); - - private int version; - private List pages; - private @StringRes int notificationTitle; - private @StringRes int notificationText; - private @StringRes int notificationBigText; - private @Nullable Class nextIntent; - private boolean handlesNavigation; - - ExperienceUpgrade(int version, - @NonNull List pages, - @StringRes int notificationTitle, - @StringRes int notificationText, - @StringRes int notificationBigText, - @Nullable Class nextIntent, - boolean handlesNavigation) - { - this.version = version; - this.pages = pages; - this.notificationTitle = notificationTitle; - this.notificationText = notificationText; - this.notificationBigText = notificationBigText; - this.nextIntent = nextIntent; - this.handlesNavigation = handlesNavigation; - } - - ExperienceUpgrade(int version, - @NonNull IntroPage page, - @StringRes int notificationTitle, - @StringRes int notificationText, - @StringRes int notificationBigText, - @Nullable Class nextIntent, - boolean handlesNavigation) - { - this(version, Collections.singletonList(page), notificationTitle, notificationText, notificationBigText, nextIntent, handlesNavigation); - } - - public int getVersion() { - return version; - } - - public List getPages() { - return pages; - } - - public IntroPage getPage(int i) { - return pages.get(i); - } - - public int getNotificationTitle() { - return notificationTitle; - } - - public int getNotificationText() { - return notificationText; - } - - public int getNotificationBigText() { - return notificationBigText; - } - - public boolean handlesNavigation() { - return handlesNavigation; - } - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - dynamicTheme.onCreate(this); - - final Optional upgrade = getExperienceUpgrade(this); - if (!upgrade.isPresent()) { - onContinue(upgrade); - return; - } - - setContentView(R.layout.experience_upgrade_activity); - final ViewPager pager = ViewUtil.findById(this, R.id.pager); - final FloatingActionButton fab = ViewUtil.findById(this, R.id.fab); - - pager.setAdapter(new IntroPagerAdapter(getSupportFragmentManager(), upgrade.get().getPages())); - - if (upgrade.get().handlesNavigation()) { - fab.setVisibility(View.GONE); - } else { - fab.setVisibility(View.VISIBLE); - fab.setOnClickListener(v -> onContinue(upgrade)); - } - - getWindow().setBackgroundDrawable(new ColorDrawable(upgrade.get().getPage(0).backgroundColor)); - ServiceUtil.getNotificationManager(this).cancel(NotificationIds.EXPERIENCE_UPGRADE); - } - - @Override - protected void onResume() { - super.onResume(); - dynamicTheme.onResume(this); - } - - private void onContinue(Optional seenUpgrade) { - ServiceUtil.getNotificationManager(this).cancel(NotificationIds.EXPERIENCE_UPGRADE); - int latestVersion = seenUpgrade.isPresent() ? seenUpgrade.get().getVersion() - : Util.getCanonicalVersionCode(); - TextSecurePreferences.setLastExperienceVersionCode(this, latestVersion); - if (seenUpgrade.isPresent() && seenUpgrade.get().nextIntent != null) { - Intent intent = new Intent(this, seenUpgrade.get().nextIntent); - // TODO [greyson] Navigation - Intent nextIntent = new Intent(this, MainActivity.class); - intent.putExtra("next_intent", nextIntent); - startActivity(intent); - } else { - startActivity(getIntent().getParcelableExtra("next_intent")); - } - - finish(); - } - - public static boolean isUpdate(Context context) { - return getExperienceUpgrade(context).isPresent(); - } - - public static Optional getExperienceUpgrade(Context context) { - final int currentVersionCode = Util.getCanonicalVersionCode(); - final int lastSeenVersion = TextSecurePreferences.getLastExperienceVersionCode(context); - Log.i(TAG, "getExperienceUpgrade(" + lastSeenVersion + ")"); - - if (lastSeenVersion >= currentVersionCode) { - TextSecurePreferences.setLastExperienceVersionCode(context, currentVersionCode); - return Optional.absent(); - } - - Optional eligibleUpgrade = Optional.absent(); - for (ExperienceUpgrade upgrade : ExperienceUpgrade.values()) { - if (lastSeenVersion < upgrade.getVersion()) eligibleUpgrade = Optional.of(upgrade); - } - - return eligibleUpgrade; - } - - @Override - public void onTypingIndicatorsFinished() { - onContinue(Optional.of(ExperienceUpgrade.TYPING_INDICATORS)); - } - - @Override - public void onLinkPreviewsFinished() { - onContinue(Optional.of(ExperienceUpgrade.LINK_PREVIEWS)); - } - - @Override - public void onStickersFinished() { - onContinue(Optional.of(ExperienceUpgrade.STICKERS)); - } - - public static class AppUpgradeReceiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - if (Intent.ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction()) && - intent.getData().getSchemeSpecificPart().equals(context.getPackageName())) - { - if (TextSecurePreferences.getLastExperienceVersionCode(context) < 339 && - !TextSecurePreferences.isPasswordDisabled(context)) - { - Notification notification = new NotificationCompat.Builder(context, NotificationChannels.OTHER) - .setSmallIcon(R.drawable.ic_notification) - .setColor(context.getResources().getColor(R.color.core_ultramarine)) - .setContentTitle(context.getString(R.string.ExperienceUpgradeActivity_unlock_to_complete_update)) - .setContentText(context.getString(R.string.ExperienceUpgradeActivity_please_unlock_signal_to_complete_update)) - .setStyle(new NotificationCompat.BigTextStyle().bigText(context.getString(R.string.ExperienceUpgradeActivity_please_unlock_signal_to_complete_update))) - .setAutoCancel(true) - .setContentIntent(PendingIntent.getActivity(context, 0, - context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()), - PendingIntent.FLAG_UPDATE_CURRENT)) - .build(); - - ServiceUtil.getNotificationManager(context).notify(NotificationIds.EXPERIENCE_UPGRADE, notification); - } - - Optional experienceUpgrade = getExperienceUpgrade(context); - - if (!experienceUpgrade.isPresent()) { - return; - } - - if (experienceUpgrade.get().getVersion() == TextSecurePreferences.getExperienceDismissedVersionCode(context)) { - return; - } - - Intent targetIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); - Intent dismissIntent = new Intent(context, AppUpgradeReceiver.class); - dismissIntent.setAction(DISMISS_ACTION); - - Notification notification = new NotificationCompat.Builder(context, NotificationChannels.OTHER) - .setSmallIcon(R.drawable.ic_notification) - .setColor(context.getResources().getColor(R.color.core_ultramarine)) - .setContentTitle(context.getString(experienceUpgrade.get().getNotificationTitle())) - .setContentText(context.getString(experienceUpgrade.get().getNotificationText())) - .setStyle(new NotificationCompat.BigTextStyle().bigText(context.getString(experienceUpgrade.get().getNotificationBigText()))) - .setAutoCancel(true) - .setContentIntent(PendingIntent.getActivity(context, 0, - targetIntent, - PendingIntent.FLAG_UPDATE_CURRENT)) - - .setDeleteIntent(PendingIntent.getBroadcast(context, 0, - dismissIntent, - PendingIntent.FLAG_UPDATE_CURRENT)) - .build(); - ServiceUtil.getNotificationManager(context).notify(NotificationIds.EXPERIENCE_UPGRADE, notification); - } else if (DISMISS_ACTION.equals(intent.getAction())) { - TextSecurePreferences.setExperienceDismissedVersionCode(context, Util.getCanonicalVersionCode()); - } - } - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/IntroPagerAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/IntroPagerAdapter.java deleted file mode 100644 index a176c28bbc..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/IntroPagerAdapter.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.thoughtcrime.securesms; - -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentStatePagerAdapter; - -import java.util.List; - -public class IntroPagerAdapter extends FragmentStatePagerAdapter { - - public static class IntroPage { - final int backgroundColor; - final Fragment fragment; - - public IntroPage(int backgroundColor, Fragment fragment) { - this.backgroundColor = backgroundColor; - this.fragment = fragment; - } - } - - private List pages; - - public IntroPagerAdapter(FragmentManager fm, List pages) { - super(fm); - this.pages = pages; - } - - @Override - public Fragment getItem(int i) { - IntroPage page = pages.get(i); - return page.fragment; - } - - @Override - public int getCount() { - return pages.size(); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/LinkPreviewsIntroFragment.java b/app/src/main/java/org/thoughtcrime/securesms/LinkPreviewsIntroFragment.java deleted file mode 100644 index 3ebb914b65..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/LinkPreviewsIntroFragment.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.thoughtcrime.securesms; - - -import android.content.Context; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob; -import org.thoughtcrime.securesms.util.TextSecurePreferences; - -public class LinkPreviewsIntroFragment extends Fragment { - - private Controller controller; - - public static LinkPreviewsIntroFragment newInstance() { - LinkPreviewsIntroFragment fragment = new LinkPreviewsIntroFragment(); - Bundle args = new Bundle(); - fragment.setArguments(args); - return fragment; - } - - public LinkPreviewsIntroFragment() {} - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public void onAttach(Context context) { - super.onAttach(context); - - if (!(getActivity() instanceof Controller)) { - throw new IllegalStateException("Parent activity must implement the Controller interface."); - } - - controller = (Controller) getActivity(); - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.experience_upgrade_link_previews_fragment, container, false); - - view.findViewById(R.id.experience_ok_button).setOnClickListener(v -> { - ApplicationDependencies.getJobManager().add(new MultiDeviceConfigurationUpdateJob(TextSecurePreferences.isReadReceiptsEnabled(requireContext()), - TextSecurePreferences.isTypingIndicatorsEnabled(requireContext()), - TextSecurePreferences.isShowUnidentifiedDeliveryIndicatorsEnabled(requireContext()), - TextSecurePreferences.isLinkPreviewsEnabled(requireContext()))); - controller.onLinkPreviewsFinished(); - }); - - return view; - } - - public interface Controller { - void onLinkPreviewsFinished(); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java index 5daa8d181c..771320b970 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/PassphraseRequiredActionBarActivity.java @@ -39,10 +39,9 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA private static final int STATE_CREATE_PASSPHRASE = 1; private static final int STATE_PROMPT_PASSPHRASE = 2; private static final int STATE_UI_BLOCKING_UPGRADE = 3; - private static final int STATE_EXPERIENCE_UPGRADE = 4; - private static final int STATE_WELCOME_PUSH_SCREEN = 5; - private static final int STATE_CREATE_PROFILE_NAME = 6; - private static final int STATE_CREATE_KBS_PIN = 7; + private static final int STATE_WELCOME_PUSH_SCREEN = 4; + private static final int STATE_CREATE_PROFILE_NAME = 5; + private static final int STATE_CREATE_KBS_PIN = 6; private SignalServiceNetworkAccess networkAccess; private BroadcastReceiver clearKeyReceiver; @@ -157,7 +156,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA case STATE_PROMPT_PASSPHRASE: return getPromptPassphraseIntent(); case STATE_UI_BLOCKING_UPGRADE: return getUiBlockingUpgradeIntent(); case STATE_WELCOME_PUSH_SCREEN: return getPushRegistrationIntent(); - case STATE_EXPERIENCE_UPGRADE: return getExperienceUpgradeIntent(); case STATE_CREATE_KBS_PIN: return getCreateKbsPinIntent(); case STATE_CREATE_PROFILE_NAME: return getCreateProfileNameIntent(); default: return null; @@ -173,8 +171,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA return STATE_UI_BLOCKING_UPGRADE; } else if (!TextSecurePreferences.hasPromptedPushRegistration(this)) { return STATE_WELCOME_PUSH_SCREEN; - } else if (ExperienceUpgradeActivity.isUpdate(this)) { - return STATE_EXPERIENCE_UPGRADE; } else if (userMustSetProfileName()) { return STATE_CREATE_PROFILE_NAME; } else if (userMustSetKbsPin()) { @@ -209,10 +205,6 @@ public abstract class PassphraseRequiredActionBarActivity extends BaseActionBarA : getPushRegistrationIntent()); } - private Intent getExperienceUpgradeIntent() { - return getRoutedIntent(ExperienceUpgradeActivity.class, getIntent()); - } - private Intent getPushRegistrationIntent() { return RegistrationNavigationActivity.newIntentForNewRegistration(this); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java b/app/src/main/java/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java deleted file mode 100644 index 3c1daa232e..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.thoughtcrime.securesms; - - -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import androidx.appcompat.widget.SwitchCompat; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob; -import org.thoughtcrime.securesms.util.TextSecurePreferences; -import org.thoughtcrime.securesms.util.ViewUtil; - -public class ReadReceiptsIntroFragment extends Fragment { - - public static ReadReceiptsIntroFragment newInstance() { - ReadReceiptsIntroFragment fragment = new ReadReceiptsIntroFragment(); - Bundle args = new Bundle(); - fragment.setArguments(args); - return fragment; - } - - public ReadReceiptsIntroFragment() {} - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.experience_upgrade_preference_fragment, container, false); - SwitchCompat preference = ViewUtil.findById(v, R.id.preference); - - preference.setChecked(TextSecurePreferences.isReadReceiptsEnabled(getContext())); - preference.setOnCheckedChangeListener((buttonView, isChecked) -> { - TextSecurePreferences.setReadReceiptsEnabled(getContext(), isChecked); - ApplicationDependencies.getJobManager() - .add(new MultiDeviceConfigurationUpdateJob(isChecked, - TextSecurePreferences.isTypingIndicatorsEnabled(requireContext()), - TextSecurePreferences.isShowUnidentifiedDeliveryIndicatorsEnabled(getContext()), - TextSecurePreferences.isLinkPreviewsEnabled(getContext()))); - }); - - return v; - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/TypingIndicatorIntroFragment.java b/app/src/main/java/org/thoughtcrime/securesms/TypingIndicatorIntroFragment.java deleted file mode 100644 index f04ae2372f..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/TypingIndicatorIntroFragment.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.thoughtcrime.securesms; - - -import android.content.Context; -import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import org.thoughtcrime.securesms.components.TypingIndicatorView; -import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob; -import org.thoughtcrime.securesms.util.TextSecurePreferences; - -public class TypingIndicatorIntroFragment extends Fragment { - - private Controller controller; - - public static TypingIndicatorIntroFragment newInstance() { - TypingIndicatorIntroFragment fragment = new TypingIndicatorIntroFragment(); - Bundle args = new Bundle(); - fragment.setArguments(args); - return fragment; - } - - public TypingIndicatorIntroFragment() {} - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public void onAttach(Context context) { - super.onAttach(context); - - if (!(getActivity() instanceof Controller)) { - throw new IllegalStateException("Parent activity must implement the Controller interface."); - } - - controller = (Controller) getActivity(); - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.experience_upgrade_typing_indicators_fragment, container, false); - View yesButton = view.findViewById(R.id.experience_yes_button); - View noButton = view.findViewById(R.id.experience_no_button); - - ((TypingIndicatorView) view.findViewById(R.id.typing_indicator)).startAnimation(); - - yesButton.setOnClickListener(v -> onButtonClicked(true)); - noButton.setOnClickListener(v -> onButtonClicked(false)); - - return view; - } - - private void onButtonClicked(boolean typingEnabled) { - TextSecurePreferences.setTypingIndicatorsEnabled(getContext(), typingEnabled); - ApplicationDependencies.getJobManager().add(new MultiDeviceConfigurationUpdateJob(TextSecurePreferences.isReadReceiptsEnabled(requireContext()), - typingEnabled, - TextSecurePreferences.isShowUnidentifiedDeliveryIndicatorsEnabled(getContext()), - TextSecurePreferences.isLinkPreviewsEnabled(getContext()))); - - controller.onTypingIndicatorsFinished(); - } - - public interface Controller { - void onTypingIndicatorsFinished(); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/experienceupgrades/StickersIntroFragment.java b/app/src/main/java/org/thoughtcrime/securesms/experienceupgrades/StickersIntroFragment.java deleted file mode 100644 index 917867ef7b..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/experienceupgrades/StickersIntroFragment.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.thoughtcrime.securesms.experienceupgrades; - - -import android.content.Context; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.fragment.app.Fragment; - -import com.airbnb.lottie.LottieAnimationView; - -import org.thoughtcrime.securesms.R; -import org.thoughtcrime.securesms.components.TypingIndicatorView; -import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; -import org.thoughtcrime.securesms.jobs.MultiDeviceConfigurationUpdateJob; -import org.thoughtcrime.securesms.util.TextSecurePreferences; - -public class StickersIntroFragment extends Fragment { - - private Controller controller; - - public static StickersIntroFragment newInstance() { - return new StickersIntroFragment(); - } - - public StickersIntroFragment() {} - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public void onAttach(Context context) { - super.onAttach(context); - - if (!(getActivity() instanceof Controller)) { - throw new IllegalStateException("Parent activity must implement the Controller interface."); - } - - controller = (Controller) getActivity(); - } - - @Override - public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.experience_upgrade_stickers_fragment, container, false); - View goButton = view.findViewById(R.id.stickers_experience_go_button); - - ((LottieAnimationView) view.findViewById(R.id.stickers_experience_animation)).playAnimation(); - - goButton.setOnClickListener(v -> controller.onStickersFinished()); - - return view; - } - - public interface Controller { - void onStickersFinished(); - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java index 40249835fd..1c91a34ab2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java +++ b/app/src/main/java/org/thoughtcrime/securesms/notifications/NotificationIds.java @@ -5,7 +5,6 @@ public final class NotificationIds { public static final int FCM_FAILURE = 12; public static final int PENDING_MESSAGES = 1111; public static final int MESSAGE_SUMMARY = 1338; - public static final int EXPERIENCE_UPGRADE = 1339; public static final int APPLICATION_MIGRATION = 4242; public static final int SMS_IMPORT_COMPLETE = 31337; public static final int THREAD = 50000; diff --git a/app/src/main/res/drawable-hdpi/profile_splash.webp b/app/src/main/res/drawable-hdpi/profile_splash.webp deleted file mode 100644 index 92507cc4d1..0000000000 Binary files a/app/src/main/res/drawable-hdpi/profile_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/video_splash.webp b/app/src/main/res/drawable-hdpi/video_splash.webp deleted file mode 100644 index 4e618aaa3c..0000000000 Binary files a/app/src/main/res/drawable-hdpi/video_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/profile_splash.webp b/app/src/main/res/drawable-mdpi/profile_splash.webp deleted file mode 100644 index 829f11ef25..0000000000 Binary files a/app/src/main/res/drawable-mdpi/profile_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/video_splash.webp b/app/src/main/res/drawable-mdpi/video_splash.webp deleted file mode 100644 index 49fce437d6..0000000000 Binary files a/app/src/main/res/drawable-mdpi/video_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/profile_splash.webp b/app/src/main/res/drawable-xhdpi/profile_splash.webp deleted file mode 100644 index a1a2a6c786..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/profile_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/video_splash.webp b/app/src/main/res/drawable-xhdpi/video_splash.webp deleted file mode 100644 index 1cec739888..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/video_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/profile_splash.webp b/app/src/main/res/drawable-xxhdpi/profile_splash.webp deleted file mode 100644 index bc428eae3b..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/profile_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/splash_logo.webp b/app/src/main/res/drawable-xxhdpi/splash_logo.webp deleted file mode 100644 index 44ac02be4e..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/splash_logo.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/video_splash.webp b/app/src/main/res/drawable-xxhdpi/video_splash.webp deleted file mode 100644 index b202d2c4ab..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/video_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/profile_splash.webp b/app/src/main/res/drawable-xxxhdpi/profile_splash.webp deleted file mode 100644 index 4b6f226cc3..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/profile_splash.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxxhdpi/video_splash.webp b/app/src/main/res/drawable-xxxhdpi/video_splash.webp deleted file mode 100644 index f7bf3682ac..0000000000 Binary files a/app/src/main/res/drawable-xxxhdpi/video_splash.webp and /dev/null differ diff --git a/app/src/main/res/layout/color_fragment.xml b/app/src/main/res/layout/color_fragment.xml deleted file mode 100644 index a069e491f8..0000000000 --- a/app/src/main/res/layout/color_fragment.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - diff --git a/app/src/main/res/layout/experience_upgrade_activity.xml b/app/src/main/res/layout/experience_upgrade_activity.xml deleted file mode 100644 index 73c64014dc..0000000000 --- a/app/src/main/res/layout/experience_upgrade_activity.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - -