Implement new Material3 spec.

This commit is contained in:
Alex Hart
2022-05-26 17:32:52 -03:00
committed by Greyson Parrelli
parent 556e480b06
commit 1b471e163d
374 changed files with 3219 additions and 3049 deletions

View File

@@ -25,7 +25,6 @@ import androidx.navigation.Navigation;
import com.airbnb.lottie.SimpleColorFilter;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.dd.CircularProgressButton;
import org.signal.core.util.EditTextUtil;
import org.signal.core.util.StreamUtil;
@@ -45,6 +44,7 @@ import org.thoughtcrime.securesms.util.FeatureFlags;
import org.signal.core.util.concurrent.SimpleTask;
import org.thoughtcrime.securesms.util.navigation.SafeNavigation;
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
import org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton;
import org.thoughtcrime.securesms.util.views.LearnMoreTextView;
import java.io.IOException;
@@ -62,16 +62,16 @@ public class EditProfileFragment extends LoggingFragment {
private static final int MAX_DESCRIPTION_GLYPHS = 480;
private static final int MAX_DESCRIPTION_BYTES = 8192;
private Toolbar toolbar;
private View title;
private ImageView avatar;
private CircularProgressButton finishButton;
private EditText givenName;
private EditText familyName;
private View reveal;
private TextView preview;
private ImageView avatarPreviewBackground;
private ImageView avatarPreview;
private Toolbar toolbar;
private View title;
private ImageView avatar;
private CircularProgressMaterialButton finishButton;
private EditText givenName;
private EditText familyName;
private View reveal;
private TextView preview;
private ImageView avatarPreviewBackground;
private ImageView avatarPreview;
private Intent nextIntent;
@@ -223,8 +223,7 @@ public class EditProfileFragment extends LoggingFragment {
}
this.finishButton.setOnClickListener(v -> {
this.finishButton.setIndeterminateProgressMode(true);
this.finishButton.setProgress(50);
this.finishButton.setSpinning();
handleUpload();
});
@@ -313,7 +312,7 @@ public class EditProfileFragment extends LoggingFragment {
}
private void handleFinishedLegacy() {
finishButton.setProgress(0);
finishButton.cancelSpinning();
if (nextIntent != null) startActivity(nextIntent);
controller.onProfileNameUploadCompleted();
@@ -341,7 +340,7 @@ public class EditProfileFragment extends LoggingFragment {
@Override
public void onAnimationEnd(Animator animation) {
finishButton.setProgress(0);
finishButton.cancelSpinning();
if (nextIntent != null && getActivity() != null) {
startActivity(nextIntent);
}

View File

@@ -22,8 +22,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.ListAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.dd.CircularProgressButton;
import org.signal.core.util.BreakIteratorCompat;
import org.signal.core.util.EditTextUtil;
import org.thoughtcrime.securesms.R;
@@ -34,6 +32,7 @@ import org.signal.core.util.StringUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.adapter.AlwaysChangedDiffUtil;
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
import org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton;
import org.whispersystems.signalservice.api.crypto.ProfileCipher;
import java.util.Arrays;
@@ -60,11 +59,11 @@ public class EditAboutFragment extends Fragment implements ManageProfileActivity
new AboutPreset("\uD83D\uDE80", R.string.EditAboutFragment_working_on_something_new)
);
private ImageView emojiView;
private EditText bodyView;
private TextView countView;
private CircularProgressButton saveButton;
private EditAboutViewModel viewModel;
private ImageView emojiView;
private EditText bodyView;
private TextView countView;
private CircularProgressMaterialButton saveButton;
private EditAboutViewModel viewModel;
private String selectedEmoji;
@@ -167,14 +166,10 @@ public class EditAboutFragment extends Fragment implements ManageProfileActivity
private void presentSaveState(@NonNull EditAboutViewModel.SaveState state) {
switch (state) {
case IDLE:
saveButton.setClickable(true);
saveButton.setIndeterminateProgressMode(false);
saveButton.setProgress(0);
saveButton.cancelSpinning();
break;
case IN_PROGRESS:
saveButton.setClickable(false);
saveButton.setIndeterminateProgressMode(true);
saveButton.setProgress(50);
saveButton.setSpinning();
break;
case DONE:
saveButton.setClickable(false);

View File

@@ -16,8 +16,6 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProviders;
import androidx.navigation.Navigation;
import com.dd.CircularProgressButton;
import org.signal.core.util.EditTextUtil;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.profiles.ProfileName;
@@ -25,6 +23,7 @@ import org.thoughtcrime.securesms.recipients.Recipient;
import org.signal.core.util.StringUtil;
import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.text.AfterTextChanged;
import org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton;
/**
* Simple fragment to edit your profile name.
@@ -33,10 +32,10 @@ public class EditProfileNameFragment extends Fragment {
public static final int NAME_MAX_GLYPHS = 26;
private EditText givenName;
private EditText familyName;
private CircularProgressButton saveButton;
private EditProfileNameViewModel viewModel;
private EditText givenName;
private EditText familyName;
private CircularProgressMaterialButton saveButton;
private EditProfileNameViewModel viewModel;
@Override
public @NonNull View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -92,17 +91,13 @@ public class EditProfileNameFragment extends Fragment {
setEditTextEnabled(familyName, true);
break;
case IDLE:
saveButton.setClickable(true);
saveButton.setIndeterminateProgressMode(false);
saveButton.setProgress(0);
saveButton.cancelSpinning();
saveButton.setAlpha(1);
setEditTextEnabled(givenName, true);
setEditTextEnabled(familyName, true);
break;
case IN_PROGRESS:
saveButton.setClickable(false);
saveButton.setIndeterminateProgressMode(true);
saveButton.setProgress(50);
saveButton.setSpinning();
saveButton.setAlpha(1);
setEditTextEnabled(givenName, false);
setEditTextEnabled(familyName, false);

View File

@@ -16,13 +16,12 @@ import androidx.lifecycle.ViewModelProviders;
import androidx.navigation.Navigation;
import androidx.navigation.fragment.NavHostFragment;
import com.dd.CircularProgressButton;
import org.thoughtcrime.securesms.LoggingFragment;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.contactshare.SimpleTextWatcher;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.UsernameUtil;
import org.thoughtcrime.securesms.util.views.CircularProgressMaterialButton;
public class UsernameEditFragment extends LoggingFragment {
@@ -30,10 +29,10 @@ public class UsernameEditFragment extends LoggingFragment {
private UsernameEditViewModel viewModel;
private EditText usernameInput;
private TextView usernameSubtext;
private CircularProgressButton submitButton;
private CircularProgressButton deleteButton;
private EditText usernameInput;
private TextView usernameSubtext;
private CircularProgressMaterialButton submitButton;
private CircularProgressMaterialButton deleteButton;
public static UsernameEditFragment newInstance() {
return new UsernameEditFragment();
@@ -84,42 +83,42 @@ public class UsernameEditFragment extends LoggingFragment {
switch (state.getButtonState()) {
case SUBMIT:
cancelSpinning(submitButton);
submitButton.cancelSpinning();
submitButton.setVisibility(View.VISIBLE);
submitButton.setEnabled(true);
submitButton.setAlpha(1);
deleteButton.setVisibility(View.GONE);
break;
case SUBMIT_DISABLED:
cancelSpinning(submitButton);
submitButton.cancelSpinning();
submitButton.setVisibility(View.VISIBLE);
submitButton.setEnabled(false);
submitButton.setAlpha(DISABLED_ALPHA);
deleteButton.setVisibility(View.GONE);
break;
case SUBMIT_LOADING:
setSpinning(submitButton);
submitButton.setSpinning();
submitButton.setVisibility(View.VISIBLE);
submitButton.setAlpha(1);
deleteButton.setVisibility(View.GONE);
usernameInput.setEnabled(false);
break;
case DELETE:
cancelSpinning(deleteButton);
deleteButton.cancelSpinning();
deleteButton.setVisibility(View.VISIBLE);
deleteButton.setEnabled(true);
deleteButton.setAlpha(1);
submitButton.setVisibility(View.GONE);
break;
case DELETE_DISABLED:
cancelSpinning(deleteButton);
deleteButton.cancelSpinning();
deleteButton.setVisibility(View.VISIBLE);
deleteButton.setEnabled(false);
deleteButton.setAlpha(DISABLED_ALPHA);
submitButton.setVisibility(View.GONE);
break;
case DELETE_LOADING:
setSpinning(deleteButton);
deleteButton.setSpinning();
deleteButton.setVisibility(View.VISIBLE);
deleteButton.setAlpha(1);
submitButton.setVisibility(View.GONE);
@@ -180,16 +179,4 @@ public class UsernameEditFragment extends LoggingFragment {
break;
}
}
private static void setSpinning(@NonNull CircularProgressButton button) {
button.setClickable(false);
button.setIndeterminateProgressMode(true);
button.setProgress(50);
}
private static void cancelSpinning(@NonNull CircularProgressButton button) {
button.setProgress(0);
button.setIndeterminateProgressMode(false);
button.setClickable(true);
}
}