Accessibility improvements, close #39
This commit is contained in:
@@ -124,7 +124,7 @@ public class PushNotificationReceiver extends BroadcastReceiver{
|
|||||||
.setContentText(pn.body)
|
.setContentText(pn.body)
|
||||||
.setStyle(new Notification.BigTextStyle().bigText(pn.body))
|
.setStyle(new Notification.BigTextStyle().bigText(pn.body))
|
||||||
.setSmallIcon(R.drawable.ic_ntf_logo)
|
.setSmallIcon(R.drawable.ic_ntf_logo)
|
||||||
.setContentIntent(PendingIntent.getActivity(context, accountID.hashCode() & 0xFFFF, contentIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_CANCEL_CURRENT))
|
.setContentIntent(PendingIntent.getActivity(context, accountID.hashCode() & 0xFFFF, contentIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT))
|
||||||
.setWhen(notification==null ? System.currentTimeMillis() : notification.createdAt.toEpochMilli())
|
.setWhen(notification==null ? System.currentTimeMillis() : notification.createdAt.toEpochMilli())
|
||||||
.setShowWhen(true)
|
.setShowWhen(true)
|
||||||
.setCategory(Notification.CATEGORY_SOCIAL)
|
.setCategory(Notification.CATEGORY_SOCIAL)
|
||||||
|
|||||||
@@ -331,6 +331,7 @@ public abstract class BaseStatusListFragment<T extends DisplayItemsParent> exten
|
|||||||
if(toolbar==null)
|
if(toolbar==null)
|
||||||
return;
|
return;
|
||||||
toolbar.setOnClickListener(v->scrollToTop());
|
toolbar.setOnClickListener(v->scrollToTop());
|
||||||
|
toolbar.setNavigationContentDescription(R.string.back);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getMainAdapterOffset(){
|
protected int getMainAdapterOffset(){
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ import me.grishka.appkit.imageloader.ViewImageLoader;
|
|||||||
import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
|
import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class ComposeFragment extends ToolbarFragment implements OnBackPressedListener, ComposeEditText.SelectionListener{
|
public class ComposeFragment extends MastodonToolbarFragment implements OnBackPressedListener, ComposeEditText.SelectionListener{
|
||||||
|
|
||||||
private static final int MEDIA_RESULT=717;
|
private static final int MEDIA_RESULT=717;
|
||||||
private static final int IMAGE_DESCRIPTION_RESULT=363;
|
private static final int IMAGE_DESCRIPTION_RESULT=363;
|
||||||
@@ -433,7 +433,6 @@ public class ComposeFragment extends ToolbarFragment implements OnBackPressedLis
|
|||||||
updateCharCounter(s);
|
updateCharCounter(s);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
updateToolbar();
|
|
||||||
if(replyTo!=null){
|
if(replyTo!=null){
|
||||||
replyText.setText(getString(R.string.in_reply_to, replyTo.account.displayName));
|
replyText.setText(getString(R.string.in_reply_to, replyTo.account.displayName));
|
||||||
ArrayList<String> mentions=new ArrayList<>();
|
ArrayList<String> mentions=new ArrayList<>();
|
||||||
@@ -518,7 +517,6 @@ public class ComposeFragment extends ToolbarFragment implements OnBackPressedLis
|
|||||||
public void onConfigurationChanged(Configuration newConfig){
|
public void onConfigurationChanged(Configuration newConfig){
|
||||||
super.onConfigurationChanged(newConfig);
|
super.onConfigurationChanged(newConfig);
|
||||||
emojiKeyboard.onConfigurationChanged();
|
emojiKeyboard.onConfigurationChanged();
|
||||||
updateToolbar();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
@@ -556,7 +554,9 @@ public class ComposeFragment extends ToolbarFragment implements OnBackPressedLis
|
|||||||
mainEditText.getText().replace(start, mainEditText.getSelectionEnd(), prefix+emoji.shortcode+':');
|
mainEditText.getText().replace(start, mainEditText.getSelectionEnd(), prefix+emoji.shortcode+':');
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateToolbar(){
|
@Override
|
||||||
|
protected void updateToolbar(){
|
||||||
|
super.updateToolbar();
|
||||||
getToolbar().setNavigationIcon(R.drawable.ic_fluent_dismiss_24_regular);
|
getToolbar().setNavigationIcon(R.drawable.ic_fluent_dismiss_24_regular);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import me.grishka.appkit.imageloader.ViewImageLoader;
|
|||||||
import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
|
import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class ComposeImageDescriptionFragment extends ToolbarFragment{
|
public class ComposeImageDescriptionFragment extends MastodonToolbarFragment{
|
||||||
private String accountID, attachmentID;
|
private String accountID, attachmentID;
|
||||||
private EditText edit;
|
private EditText edit;
|
||||||
private Button saveButton;
|
private Button saveButton;
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
package org.joinmastodon.android.fragments;
|
||||||
|
|
||||||
|
import android.content.res.Configuration;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Toolbar;
|
||||||
|
|
||||||
|
import org.joinmastodon.android.R;
|
||||||
|
|
||||||
|
import androidx.annotation.CallSuper;
|
||||||
|
import me.grishka.appkit.fragments.ToolbarFragment;
|
||||||
|
|
||||||
|
public abstract class MastodonToolbarFragment extends ToolbarFragment{
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, Bundle savedInstanceState){
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
updateToolbar();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(Configuration newConfig){
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
updateToolbar();
|
||||||
|
}
|
||||||
|
|
||||||
|
@CallSuper
|
||||||
|
protected void updateToolbar(){
|
||||||
|
Toolbar toolbar=getToolbar();
|
||||||
|
if(toolbar!=null && toolbar.getNavigationIcon()!=null){
|
||||||
|
toolbar.setNavigationContentDescription(R.string.back);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,7 +24,7 @@ import me.grishka.appkit.fragments.BaseRecyclerFragment;
|
|||||||
import me.grishka.appkit.fragments.ToolbarFragment;
|
import me.grishka.appkit.fragments.ToolbarFragment;
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class NotificationsFragment extends ToolbarFragment implements ScrollableToTop{
|
public class NotificationsFragment extends MastodonToolbarFragment implements ScrollableToTop{
|
||||||
|
|
||||||
private TabLayout tabLayout;
|
private TabLayout tabLayout;
|
||||||
private ViewPager2 pager;
|
private ViewPager2 pager;
|
||||||
@@ -123,18 +123,6 @@ public class NotificationsFragment extends ToolbarFragment implements Scrollable
|
|||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onViewCreated(View view, Bundle savedInstanceState){
|
|
||||||
super.onViewCreated(view, savedInstanceState);
|
|
||||||
updateToolbar();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onConfigurationChanged(Configuration newConfig){
|
|
||||||
super.onConfigurationChanged(newConfig);
|
|
||||||
updateToolbar();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void scrollToTop(){
|
public void scrollToTop(){
|
||||||
getFragmentForPage(pager.getCurrentItem()).scrollToTop();
|
getFragmentForPage(pager.getCurrentItem()).scrollToTop();
|
||||||
@@ -145,7 +133,9 @@ public class NotificationsFragment extends ToolbarFragment implements Scrollable
|
|||||||
allNotificationsFragment.loadData();
|
allNotificationsFragment.loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateToolbar(){
|
@Override
|
||||||
|
protected void updateToolbar(){
|
||||||
|
super.updateToolbar();
|
||||||
getToolbar().setOutlineProvider(null);
|
getToolbar().setOutlineProvider(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -454,6 +454,7 @@ public class ProfileFragment extends LoaderFragment implements OnBackPressedList
|
|||||||
toolbarSubtitleView.setTranslationY(titleTransY);
|
toolbarSubtitleView.setTranslationY(titleTransY);
|
||||||
}
|
}
|
||||||
getToolbar().setOnClickListener(v->scrollToTop());
|
getToolbar().setOnClickListener(v->scrollToTop());
|
||||||
|
getToolbar().setNavigationContentDescription(R.string.back);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import android.view.WindowManager;
|
|||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.PopupMenu;
|
import android.widget.PopupMenu;
|
||||||
|
import android.widget.RadioButton;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -52,7 +53,7 @@ import me.grishka.appkit.utils.BindableViewHolder;
|
|||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
import me.grishka.appkit.views.UsableRecyclerView;
|
import me.grishka.appkit.views.UsableRecyclerView;
|
||||||
|
|
||||||
public class SettingsFragment extends ToolbarFragment{
|
public class SettingsFragment extends MastodonToolbarFragment{
|
||||||
private UsableRecyclerView list;
|
private UsableRecyclerView list;
|
||||||
private ArrayList<Item> items=new ArrayList<>();
|
private ArrayList<Item> items=new ArrayList<>();
|
||||||
private ThemeItem themeItem;
|
private ThemeItem themeItem;
|
||||||
@@ -511,7 +512,8 @@ public class SettingsFragment extends ToolbarFragment{
|
|||||||
|
|
||||||
private class SubitemHolder{
|
private class SubitemHolder{
|
||||||
public TextView text;
|
public TextView text;
|
||||||
public ImageView icon, checkbox;
|
public ImageView icon;
|
||||||
|
public RadioButton checkbox;
|
||||||
|
|
||||||
public SubitemHolder(View view){
|
public SubitemHolder(View view){
|
||||||
text=view.findViewById(R.id.text);
|
text=view.findViewById(R.id.text);
|
||||||
@@ -526,11 +528,11 @@ public class SettingsFragment extends ToolbarFragment{
|
|||||||
public void bind(int text, int icon, boolean checked){
|
public void bind(int text, int icon, boolean checked){
|
||||||
this.text.setText(text);
|
this.text.setText(text);
|
||||||
this.icon.setImageResource(icon);
|
this.icon.setImageResource(icon);
|
||||||
checkbox.setSelected(checked);
|
checkbox.setChecked(checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setChecked(boolean checked){
|
public void setChecked(boolean checked){
|
||||||
checkbox.setSelected(checked);
|
checkbox.setChecked(checked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop,
|
|||||||
searchClear=view.findViewById(R.id.search_clear);
|
searchClear=view.findViewById(R.id.search_clear);
|
||||||
searchProgress=view.findViewById(R.id.search_progress);
|
searchProgress=view.findViewById(R.id.search_progress);
|
||||||
searchBack.setEnabled(searchActive);
|
searchBack.setEnabled(searchActive);
|
||||||
|
searchBack.setImportantForAccessibility(searchActive ? View.IMPORTANT_FOR_ACCESSIBILITY_YES : View.IMPORTANT_FOR_ACCESSIBILITY_NO);
|
||||||
searchBack.setOnClickListener(v->exitSearch());
|
searchBack.setOnClickListener(v->exitSearch());
|
||||||
if(searchActive){
|
if(searchActive){
|
||||||
searchBack.setImageResource(R.drawable.ic_fluent_arrow_left_24_regular);
|
searchBack.setImageResource(R.drawable.ic_fluent_arrow_left_24_regular);
|
||||||
@@ -221,6 +222,7 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop,
|
|||||||
searchView.setVisibility(View.VISIBLE);
|
searchView.setVisibility(View.VISIBLE);
|
||||||
searchBack.setImageResource(R.drawable.ic_fluent_arrow_left_24_regular);
|
searchBack.setImageResource(R.drawable.ic_fluent_arrow_left_24_regular);
|
||||||
searchBack.setEnabled(true);
|
searchBack.setEnabled(true);
|
||||||
|
searchBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,6 +235,7 @@ public class DiscoverFragment extends AppKitFragment implements ScrollableToTop,
|
|||||||
searchEdit.setText("");
|
searchEdit.setText("");
|
||||||
searchBack.setImageResource(R.drawable.ic_fluent_search_24_regular);
|
searchBack.setImageResource(R.drawable.ic_fluent_search_24_regular);
|
||||||
searchBack.setEnabled(false);
|
searchBack.setEnabled(false);
|
||||||
|
searchBack.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
|
||||||
getActivity().getSystemService(InputMethodManager.class).hideSoftInputFromWindow(searchEdit.getWindowToken(), 0);
|
getActivity().getSystemService(InputMethodManager.class).hideSoftInputFromWindow(searchEdit.getWindowToken(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import org.joinmastodon.android.E;
|
import org.joinmastodon.android.E;
|
||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
|
import org.joinmastodon.android.fragments.MastodonToolbarFragment;
|
||||||
import org.joinmastodon.android.model.Account;
|
import org.joinmastodon.android.model.Account;
|
||||||
import org.joinmastodon.android.model.Status;
|
import org.joinmastodon.android.model.Status;
|
||||||
import org.joinmastodon.android.ui.DividerItemDecoration;
|
import org.joinmastodon.android.ui.DividerItemDecoration;
|
||||||
@@ -32,7 +33,7 @@ import me.grishka.appkit.utils.SingleViewRecyclerAdapter;
|
|||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
import me.grishka.appkit.views.UsableRecyclerView;
|
import me.grishka.appkit.views.UsableRecyclerView;
|
||||||
|
|
||||||
public abstract class BaseReportChoiceFragment extends ToolbarFragment{
|
public abstract class BaseReportChoiceFragment extends MastodonToolbarFragment{
|
||||||
private UsableRecyclerView list;
|
private UsableRecyclerView list;
|
||||||
private MergeRecyclerAdapter adapter;
|
private MergeRecyclerAdapter adapter;
|
||||||
private Button btn;
|
private Button btn;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import org.joinmastodon.android.E;
|
|||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
import org.joinmastodon.android.api.requests.reports.SendReport;
|
import org.joinmastodon.android.api.requests.reports.SendReport;
|
||||||
import org.joinmastodon.android.events.FinishReportFragmentsEvent;
|
import org.joinmastodon.android.events.FinishReportFragmentsEvent;
|
||||||
|
import org.joinmastodon.android.fragments.MastodonToolbarFragment;
|
||||||
import org.joinmastodon.android.model.Account;
|
import org.joinmastodon.android.model.Account;
|
||||||
import org.joinmastodon.android.model.ReportReason;
|
import org.joinmastodon.android.model.ReportReason;
|
||||||
import org.joinmastodon.android.ui.utils.UiUtils;
|
import org.joinmastodon.android.ui.utils.UiUtils;
|
||||||
@@ -30,7 +31,7 @@ import me.grishka.appkit.api.ErrorResponse;
|
|||||||
import me.grishka.appkit.fragments.ToolbarFragment;
|
import me.grishka.appkit.fragments.ToolbarFragment;
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class ReportCommentFragment extends ToolbarFragment{
|
public class ReportCommentFragment extends MastodonToolbarFragment{
|
||||||
private String accountID;
|
private String accountID;
|
||||||
private Account reportAccount;
|
private Account reportAccount;
|
||||||
private Button btn;
|
private Button btn;
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import org.joinmastodon.android.R;
|
import org.joinmastodon.android.R;
|
||||||
import org.joinmastodon.android.api.requests.accounts.SetAccountFollowed;
|
import org.joinmastodon.android.api.requests.accounts.SetAccountFollowed;
|
||||||
|
import org.joinmastodon.android.fragments.MastodonToolbarFragment;
|
||||||
import org.joinmastodon.android.model.Account;
|
import org.joinmastodon.android.model.Account;
|
||||||
import org.joinmastodon.android.model.Relationship;
|
import org.joinmastodon.android.model.Relationship;
|
||||||
import org.joinmastodon.android.model.ReportReason;
|
import org.joinmastodon.android.model.ReportReason;
|
||||||
@@ -29,7 +30,7 @@ import me.grishka.appkit.imageloader.requests.UrlImageLoaderRequest;
|
|||||||
import me.grishka.appkit.utils.CubicBezierInterpolator;
|
import me.grishka.appkit.utils.CubicBezierInterpolator;
|
||||||
import me.grishka.appkit.utils.V;
|
import me.grishka.appkit.utils.V;
|
||||||
|
|
||||||
public class ReportDoneFragment extends ToolbarFragment{
|
public class ReportDoneFragment extends MastodonToolbarFragment{
|
||||||
private String accountID;
|
private String accountID;
|
||||||
private Account reportAccount;
|
private Account reportAccount;
|
||||||
private Button btn;
|
private Button btn;
|
||||||
|
|||||||
@@ -49,6 +49,7 @@
|
|||||||
android:background="?android:selectableItemBackgroundBorderless"
|
android:background="?android:selectableItemBackgroundBorderless"
|
||||||
android:tint="?colorSearchHint"
|
android:tint="?colorSearchHint"
|
||||||
android:elevation="1dp"
|
android:elevation="1dp"
|
||||||
|
android:contentDescription="@string/back"
|
||||||
android:src="@drawable/ic_fluent_search_24_regular"/>
|
android:src="@drawable/ic_fluent_search_24_regular"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
@@ -61,6 +62,7 @@
|
|||||||
android:tint="?colorSearchHint"
|
android:tint="?colorSearchHint"
|
||||||
android:elevation="1dp"
|
android:elevation="1dp"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
|
android:contentDescription="@string/clear"
|
||||||
android:src="@drawable/ic_fluent_dismiss_24_regular"/>
|
android:src="@drawable/ic_fluent_dismiss_24_regular"/>
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="229dp"
|
android:layout_height="229dp"
|
||||||
android:background="#808080"
|
android:background="#808080"
|
||||||
|
android:contentDescription="@string/profile_header"
|
||||||
android:scaleType="centerCrop"/>
|
android:scaleType="centerCrop"/>
|
||||||
|
|
||||||
<View
|
<View
|
||||||
@@ -51,6 +52,7 @@
|
|||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="-38dp"
|
android:layout_marginTop="-38dp"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
|
android:contentDescription="@string/profile_picture"
|
||||||
tools:src="#0f0" />
|
tools:src="#0f0" />
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
android:button="@drawable/ic_round_checkbox"
|
android:button="@drawable/ic_round_checkbox"
|
||||||
android:buttonTint="?android:textColorSecondary"
|
android:buttonTint="?android:textColorSecondary"
|
||||||
android:background="@null"
|
android:background="@null"
|
||||||
|
android:focusable="false"
|
||||||
android:clickable="false"/>
|
android:clickable="false"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
android:tint="@color/error_500"
|
android:tint="@color/error_500"
|
||||||
android:stateListAnimator="@null"
|
android:stateListAnimator="@null"
|
||||||
android:padding="0px"
|
android:padding="0px"
|
||||||
|
android:contentDescription="@string/delete"
|
||||||
android:background="@null"/>
|
android:background="@null"/>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
@@ -56,6 +57,7 @@
|
|||||||
android:layout_alignBottom="@id/value"
|
android:layout_alignBottom="@id/value"
|
||||||
android:layout_marginBottom="-16dp"
|
android:layout_marginBottom="-16dp"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
|
android:contentDescription="@string/reorder"
|
||||||
android:src="@drawable/ic_fluent_re_order_dots_vertical_24_regular"/>
|
android:src="@drawable/ic_fluent_re_order_dots_vertical_24_regular"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@@ -24,6 +24,7 @@
|
|||||||
android:layout_marginEnd="6dp"
|
android:layout_marginEnd="6dp"
|
||||||
android:tint="?android:textColorSecondary"
|
android:tint="?android:textColorSecondary"
|
||||||
android:background="?android:selectableItemBackgroundBorderless"
|
android:background="?android:selectableItemBackgroundBorderless"
|
||||||
|
android:contentDescription="@string/clear"
|
||||||
android:src="@drawable/ic_fluent_dismiss_circle_24_filled"/>
|
android:src="@drawable/ic_fluent_dismiss_circle_24_filled"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -27,12 +27,14 @@
|
|||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
tools:text="@string/theme_auto"/>
|
tools:text="@string/theme_auto"/>
|
||||||
|
|
||||||
<ImageView
|
<RadioButton
|
||||||
android:id="@+id/checkbox"
|
android:id="@+id/checkbox"
|
||||||
android:layout_width="24dp"
|
android:layout_width="24dp"
|
||||||
android:layout_height="24dp"
|
android:layout_height="24dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_gravity="center_horizontal"
|
android:layout_gravity="center_horizontal"
|
||||||
android:src="@drawable/ic_round_checkbox"/>
|
android:focusable="false"
|
||||||
|
android:clickable="false"
|
||||||
|
android:button="@drawable/ic_round_checkbox"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
@@ -294,4 +294,8 @@
|
|||||||
<string name="show_boosts_from_user">Show boosts from %s</string>
|
<string name="show_boosts_from_user">Show boosts from %s</string>
|
||||||
<string name="signup_reason">why do you want to join?</string>
|
<string name="signup_reason">why do you want to join?</string>
|
||||||
<string name="signup_reason_note">This will help us review your application.</string>
|
<string name="signup_reason_note">This will help us review your application.</string>
|
||||||
|
<string name="clear">Clear</string>
|
||||||
|
<string name="profile_header">Header image</string>
|
||||||
|
<string name="profile_picture">Profile picture</string>
|
||||||
|
<string name="reorder">Reorder</string>
|
||||||
</resources>
|
</resources>
|
||||||
Reference in New Issue
Block a user