diff --git a/res/drawable/read_receipt_vector.xml b/res/drawable/read_receipt_vector.xml new file mode 100644 index 0000000000..8184b984ea --- /dev/null +++ b/res/drawable/read_receipt_vector.xml @@ -0,0 +1,9 @@ + + + diff --git a/res/layout/experience_upgrade_preference_fragment.xml b/res/layout/experience_upgrade_preference_fragment.xml new file mode 100644 index 0000000000..28669bd0f5 --- /dev/null +++ b/res/layout/experience_upgrade_preference_fragment.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 38e9c93340..1183ee8069 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1476,6 +1476,9 @@ Media Documents No documents found + Read receipts are here + Optionally see and share when messages have been read + Enable read receipts diff --git a/res/values/styles.xml b/res/values/styles.xml index 7f0f82c060..357b869bc3 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -259,4 +259,8 @@ + + diff --git a/src/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java b/src/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java index 2835a060c8..d3c790076c 100644 --- a/src/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java +++ b/src/org/thoughtcrime/securesms/ExperienceUpgradeActivity.java @@ -61,7 +61,14 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity { 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, - CreateProfileActivity.class); + CreateProfileActivity.class), + READ_RECEIPTS(299, + new IntroPage(0xFF2090EA, + ReadReceiptsIntroFragment.newInstance()), + 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, + null); private int version; private List pages; diff --git a/src/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java b/src/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java new file mode 100644 index 0000000000..a0d25c5f7e --- /dev/null +++ b/src/org/thoughtcrime/securesms/ReadReceiptsIntroFragment.java @@ -0,0 +1,41 @@ +package org.thoughtcrime.securesms; + + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v7.widget.SwitchCompat; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +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(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)); + + return v; + } +}