status dialog layout fix, moved "local timeline" option to settings activity, bug fix, translation update
This commit is contained in:
parent
a4c9af728f
commit
aca8dd5428
|
@ -38,6 +38,9 @@ public enum Configuration {
|
||||||
private final boolean postLocationSupported;
|
private final boolean postLocationSupported;
|
||||||
private final boolean userlistVisibility;
|
private final boolean userlistVisibility;
|
||||||
private final boolean notificationDismissSupported;
|
private final boolean notificationDismissSupported;
|
||||||
|
private final boolean statusSpoilerSupported;
|
||||||
|
private final boolean statusVisibilitySupported;
|
||||||
|
private final boolean directMessageSupported;
|
||||||
private final int maxImages;
|
private final int maxImages;
|
||||||
private final int maxGifs;
|
private final int maxGifs;
|
||||||
private final int maxVideos;
|
private final int maxVideos;
|
||||||
|
@ -58,6 +61,9 @@ public enum Configuration {
|
||||||
postLocationSupported = true;
|
postLocationSupported = true;
|
||||||
userlistVisibility = true;
|
userlistVisibility = true;
|
||||||
notificationDismissSupported = false;
|
notificationDismissSupported = false;
|
||||||
|
statusSpoilerSupported = false;
|
||||||
|
statusVisibilitySupported = false;
|
||||||
|
directMessageSupported = true;
|
||||||
maxImages = 4;
|
maxImages = 4;
|
||||||
maxGifs = 1;
|
maxGifs = 1;
|
||||||
maxVideos = 1;
|
maxVideos = 1;
|
||||||
|
@ -73,6 +79,9 @@ public enum Configuration {
|
||||||
postLocationSupported = false;
|
postLocationSupported = false;
|
||||||
userlistVisibility = false;
|
userlistVisibility = false;
|
||||||
notificationDismissSupported = true;
|
notificationDismissSupported = true;
|
||||||
|
statusSpoilerSupported = true;
|
||||||
|
statusVisibilitySupported = true;
|
||||||
|
directMessageSupported = false;
|
||||||
maxImages = 4;
|
maxImages = 4;
|
||||||
maxGifs = 1;
|
maxGifs = 1;
|
||||||
maxVideos = 1;
|
maxVideos = 1;
|
||||||
|
@ -139,10 +148,31 @@ public enum Configuration {
|
||||||
/**
|
/**
|
||||||
* @return true if notification dismiss is supported
|
* @return true if notification dismiss is supported
|
||||||
*/
|
*/
|
||||||
public boolean NotificationDismissEnabled() {
|
public boolean notificationDismissEnabled() {
|
||||||
return notificationDismissSupported;
|
return notificationDismissSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if login type supports warining for status spoiler
|
||||||
|
*/
|
||||||
|
public boolean statusSpoilerSupported() {
|
||||||
|
return statusSpoilerSupported;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if login type supports status visibility states
|
||||||
|
*/
|
||||||
|
public boolean statusVisibilitySupported() {
|
||||||
|
return statusVisibilitySupported;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return true if directmessaging is supported
|
||||||
|
*/
|
||||||
|
public boolean directmessageSupported() {
|
||||||
|
return directMessageSupported;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return image limit for posts
|
* @return image limit for posts
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -35,7 +35,6 @@ import org.nuclearfog.twidda.backend.async.LinkLoader;
|
||||||
import org.nuclearfog.twidda.backend.async.LinkLoader.LinkResult;
|
import org.nuclearfog.twidda.backend.async.LinkLoader.LinkResult;
|
||||||
import org.nuclearfog.twidda.backend.utils.AppStyles;
|
import org.nuclearfog.twidda.backend.utils.AppStyles;
|
||||||
import org.nuclearfog.twidda.backend.utils.ErrorHandler;
|
import org.nuclearfog.twidda.backend.utils.ErrorHandler;
|
||||||
import org.nuclearfog.twidda.config.Configuration;
|
|
||||||
import org.nuclearfog.twidda.config.GlobalSettings;
|
import org.nuclearfog.twidda.config.GlobalSettings;
|
||||||
import org.nuclearfog.twidda.ui.adapter.FragmentAdapter;
|
import org.nuclearfog.twidda.ui.adapter.FragmentAdapter;
|
||||||
import org.nuclearfog.twidda.ui.dialogs.ProgressDialog;
|
import org.nuclearfog.twidda.ui.dialogs.ProgressDialog;
|
||||||
|
@ -166,9 +165,8 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
MenuItem localTl = menu.findItem(R.id.menu_local_timeline);
|
MenuItem message = menu.findItem(R.id.menu_message);
|
||||||
localTl.setVisible(settings.getLogin().getConfiguration() == Configuration.MASTODON);
|
message.setVisible(settings.getLogin().getConfiguration().directmessageSupported());
|
||||||
localTl.setChecked(settings.useLocalTimeline());
|
|
||||||
return super.onPrepareOptionsMenu(menu);
|
return super.onPrepareOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,13 +204,6 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
||||||
Intent accountManager = new Intent(this, AccountActivity.class);
|
Intent accountManager = new Intent(this, AccountActivity.class);
|
||||||
activityResultLauncher.launch(accountManager);
|
activityResultLauncher.launch(accountManager);
|
||||||
}
|
}
|
||||||
// enable disable Mastodon local timeline
|
|
||||||
else if (item.getItemId() == R.id.menu_local_timeline) {
|
|
||||||
boolean toggle = !settings.useLocalTimeline();
|
|
||||||
settings.setLocalTimeline(toggle);
|
|
||||||
adapter.notifySettingsChanged();
|
|
||||||
item.setChecked(toggle);
|
|
||||||
}
|
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -136,7 +136,8 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||||
SwitchButton toggleImg = findViewById(R.id.toggleImg);
|
SwitchButton toggleImg = findViewById(R.id.toggleImg);
|
||||||
SwitchButton toolbarOverlap = findViewById(R.id.settings_toolbar_ov);
|
SwitchButton toolbarOverlap = findViewById(R.id.settings_toolbar_ov);
|
||||||
SwitchButton enableLike = findViewById(R.id.enable_like);
|
SwitchButton enableLike = findViewById(R.id.enable_like);
|
||||||
SwitchButton enableTwitterAlt = findViewById(R.id.settings_enable_twitter_alt);
|
SwitchButton enableNitter = findViewById(R.id.settings_enable_twitter_alt);
|
||||||
|
SwitchButton enableLocalTl = findViewById(R.id.settings_local_timeline);
|
||||||
View EnableTwitterAltDescr = findViewById(R.id.settings_enable_twitter_alt_descr);
|
View EnableTwitterAltDescr = findViewById(R.id.settings_enable_twitter_alt_descr);
|
||||||
SwitchButton enableStatusIcons = findViewById(R.id.enable_status_indicators);
|
SwitchButton enableStatusIcons = findViewById(R.id.enable_status_indicators);
|
||||||
SeekBar listSizeSelector = findViewById(R.id.settings_list_seek);
|
SeekBar listSizeSelector = findViewById(R.id.settings_list_seek);
|
||||||
|
@ -192,7 +193,8 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||||
databaseAsync = new DatabaseAction(this);
|
databaseAsync = new DatabaseAction(this);
|
||||||
|
|
||||||
if (configuration != Configuration.TWITTER1 && configuration != Configuration.TWITTER2) {
|
if (configuration != Configuration.TWITTER1 && configuration != Configuration.TWITTER2) {
|
||||||
enableTwitterAlt.setVisibility(View.GONE);
|
enableLocalTl.setVisibility(View.VISIBLE);
|
||||||
|
enableNitter.setVisibility(View.GONE);
|
||||||
EnableTwitterAltDescr.setVisibility(View.GONE);
|
EnableTwitterAltDescr.setVisibility(View.GONE);
|
||||||
trend_card.setVisibility(View.GONE);
|
trend_card.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
@ -218,7 +220,8 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||||
toggleImg.setCheckedImmediately(settings.imagesEnabled());
|
toggleImg.setCheckedImmediately(settings.imagesEnabled());
|
||||||
toolbarOverlap.setCheckedImmediately(settings.toolbarOverlapEnabled());
|
toolbarOverlap.setCheckedImmediately(settings.toolbarOverlapEnabled());
|
||||||
enableLike.setCheckedImmediately(settings.likeEnabled());
|
enableLike.setCheckedImmediately(settings.likeEnabled());
|
||||||
enableTwitterAlt.setCheckedImmediately(settings.twitterAltSet());
|
enableNitter.setCheckedImmediately(settings.twitterAltSet());
|
||||||
|
enableLocalTl.setCheckedImmediately(settings.useLocalTimeline());
|
||||||
enableStatusIcons.setCheckedImmediately(settings.statusIndicatorsEnabled());
|
enableStatusIcons.setCheckedImmediately(settings.statusIndicatorsEnabled());
|
||||||
enableProxy.setCheckedImmediately(settings.isProxyEnabled());
|
enableProxy.setCheckedImmediately(settings.isProxyEnabled());
|
||||||
enableAuth.setCheckedImmediately(settings.isProxyAuthSet());
|
enableAuth.setCheckedImmediately(settings.isProxyAuthSet());
|
||||||
|
@ -236,7 +239,8 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||||
delButton.setOnClickListener(this);
|
delButton.setOnClickListener(this);
|
||||||
toggleImg.setOnCheckedChangeListener(this);
|
toggleImg.setOnCheckedChangeListener(this);
|
||||||
enableLike.setOnCheckedChangeListener(this);
|
enableLike.setOnCheckedChangeListener(this);
|
||||||
enableTwitterAlt.setOnCheckedChangeListener(this);
|
enableNitter.setOnCheckedChangeListener(this);
|
||||||
|
enableLocalTl.setOnCheckedChangeListener(this);
|
||||||
enableStatusIcons.setOnCheckedChangeListener(this);
|
enableStatusIcons.setOnCheckedChangeListener(this);
|
||||||
enableProxy.setOnCheckedChangeListener(this);
|
enableProxy.setOnCheckedChangeListener(this);
|
||||||
enableAuth.setOnCheckedChangeListener(this);
|
enableAuth.setOnCheckedChangeListener(this);
|
||||||
|
@ -506,6 +510,10 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||||
else if (c.getId() == R.id.enable_status_indicators) {
|
else if (c.getId() == R.id.enable_status_indicators) {
|
||||||
settings.enableStatusIndicators(checked);
|
settings.enableStatusIndicators(checked);
|
||||||
}
|
}
|
||||||
|
// enable/disable local timeline (Mastodon)
|
||||||
|
else if (c.getId() == R.id.settings_local_timeline) {
|
||||||
|
settings.setLocalTimeline(checked);
|
||||||
|
}
|
||||||
// enable proxy settings
|
// enable proxy settings
|
||||||
else if (c.getId() == R.id.settings_enable_proxy) {
|
else if (c.getId() == R.id.settings_enable_proxy) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
|
|
|
@ -61,6 +61,7 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
|
||||||
|
|
||||||
private View mediaBtn;
|
private View mediaBtn;
|
||||||
private View locationBtn;
|
private View locationBtn;
|
||||||
|
private View pollBtn;
|
||||||
private View locationPending;
|
private View locationPending;
|
||||||
|
|
||||||
private StatusUpdater uploaderAsync;
|
private StatusUpdater uploaderAsync;
|
||||||
|
@ -89,10 +90,10 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
|
||||||
ImageView background = findViewById(R.id.popup_status_background);
|
ImageView background = findViewById(R.id.popup_status_background);
|
||||||
View statusButton = findViewById(R.id.popup_status_send);
|
View statusButton = findViewById(R.id.popup_status_send);
|
||||||
View closeButton = findViewById(R.id.popup_status_close);
|
View closeButton = findViewById(R.id.popup_status_close);
|
||||||
View addPoll = findViewById(R.id.popup_status_add_poll);
|
|
||||||
View preference = findViewById(R.id.popup_status_pref);
|
View preference = findViewById(R.id.popup_status_pref);
|
||||||
RecyclerView iconList = findViewById(R.id.popup_status_media_icons);
|
RecyclerView iconList = findViewById(R.id.popup_status_media_icons);
|
||||||
EditText statusText = findViewById(R.id.popup_status_input);
|
EditText statusText = findViewById(R.id.popup_status_input);
|
||||||
|
pollBtn = findViewById(R.id.popup_status_add_poll);
|
||||||
locationBtn = findViewById(R.id.popup_status_add_location);
|
locationBtn = findViewById(R.id.popup_status_add_location);
|
||||||
mediaBtn = findViewById(R.id.popup_status_add_media);
|
mediaBtn = findViewById(R.id.popup_status_add_media);
|
||||||
locationPending = findViewById(R.id.popup_status_location_loading);
|
locationPending = findViewById(R.id.popup_status_location_loading);
|
||||||
|
@ -119,16 +120,16 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
|
||||||
iconList.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
|
iconList.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
|
||||||
iconList.setAdapter(adapter);
|
iconList.setAdapter(adapter);
|
||||||
|
|
||||||
|
statusText.addTextChangedListener(this);
|
||||||
closeButton.setOnClickListener(this);
|
closeButton.setOnClickListener(this);
|
||||||
preference.setOnClickListener(this);
|
preference.setOnClickListener(this);
|
||||||
addPoll.setOnClickListener(this);
|
|
||||||
statusButton.setOnClickListener(this);
|
statusButton.setOnClickListener(this);
|
||||||
|
pollBtn.setOnClickListener(this);
|
||||||
mediaBtn.setOnClickListener(this);
|
mediaBtn.setOnClickListener(this);
|
||||||
locationBtn.setOnClickListener(this);
|
locationBtn.setOnClickListener(this);
|
||||||
confirmDialog.setConfirmListener(this);
|
confirmDialog.setConfirmListener(this);
|
||||||
loadingCircle.addOnProgressStopListener(this);
|
loadingCircle.addOnProgressStopListener(this);
|
||||||
adapter.addOnMediaClickListener(this);
|
adapter.addOnMediaClickListener(this);
|
||||||
statusText.addTextChangedListener(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -258,9 +259,14 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
|
||||||
Toast.makeText(getApplicationContext(), R.string.error_adding_media, Toast.LENGTH_SHORT).show();
|
Toast.makeText(getApplicationContext(), R.string.error_adding_media, Toast.LENGTH_SHORT).show();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// hide media button if limit is reached
|
||||||
if (statusUpdate.mediaLimitReached()) {
|
if (statusUpdate.mediaLimitReached()) {
|
||||||
mediaBtn.setVisibility(View.GONE);
|
mediaBtn.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
// hide poll button
|
||||||
|
if (mediaType != StatusUpdate.MEDIA_ERROR && pollBtn.getVisibility() != View.GONE) {
|
||||||
|
pollBtn.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ public class StatusHolder extends ViewHolder implements OnClickListener {
|
||||||
label.setVisibility(View.VISIBLE);
|
label.setVisibility(View.VISIBLE);
|
||||||
label.setText(text);
|
label.setText(text);
|
||||||
label.setCompoundDrawablesWithIntrinsicBounds(iconRes, 0, 0, 0);
|
label.setCompoundDrawablesWithIntrinsicBounds(iconRes, 0, 0, 0);
|
||||||
if (settings.getLogin().getConfiguration().NotificationDismissEnabled()) {
|
if (settings.getLogin().getConfiguration().notificationDismissEnabled()) {
|
||||||
dismissButton.setVisibility(View.VISIBLE);
|
dismissButton.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
AppStyles.setDrawableColor(label, settings.getIconColor());
|
AppStyles.setDrawableColor(label, settings.getIconColor());
|
||||||
|
|
|
@ -152,7 +152,7 @@ public class UserHolder extends ViewHolder implements OnClickListener {
|
||||||
iconRes = R.drawable.follower_request;
|
iconRes = R.drawable.follower_request;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (settings.getLogin().getConfiguration().NotificationDismissEnabled()) {
|
if (settings.getLogin().getConfiguration().notificationDismissEnabled()) {
|
||||||
notificationDismiss.setVisibility(VISIBLE);
|
notificationDismiss.setVisibility(VISIBLE);
|
||||||
}
|
}
|
||||||
label.setVisibility(VISIBLE);
|
label.setVisibility(VISIBLE);
|
||||||
|
|
|
@ -16,6 +16,7 @@ import com.kyleduo.switchbutton.SwitchButton;
|
||||||
import org.nuclearfog.twidda.R;
|
import org.nuclearfog.twidda.R;
|
||||||
import org.nuclearfog.twidda.backend.helper.StatusUpdate;
|
import org.nuclearfog.twidda.backend.helper.StatusUpdate;
|
||||||
import org.nuclearfog.twidda.backend.utils.AppStyles;
|
import org.nuclearfog.twidda.backend.utils.AppStyles;
|
||||||
|
import org.nuclearfog.twidda.config.GlobalSettings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* status editor preference dialog used to set additional status information
|
* status editor preference dialog used to set additional status information
|
||||||
|
@ -37,11 +38,19 @@ public class StatusPreferenceDialog extends Dialog implements OnCheckedChangeLis
|
||||||
SwitchButton sensitiveCheck = findViewById(R.id.dialog_status_sensitive);
|
SwitchButton sensitiveCheck = findViewById(R.id.dialog_status_sensitive);
|
||||||
SwitchButton spoilerCheck = findViewById(R.id.dialog_status_spoiler);
|
SwitchButton spoilerCheck = findViewById(R.id.dialog_status_spoiler);
|
||||||
Spinner visibilitySelector = findViewById(R.id.dialog_status_visibility);
|
Spinner visibilitySelector = findViewById(R.id.dialog_status_visibility);
|
||||||
|
View statusVisibility = findViewById(R.id.dialog_status_visibility_container);
|
||||||
|
View statusSpoiler = findViewById(R.id.dialog_status_spoiler_container);
|
||||||
|
GlobalSettings settings = GlobalSettings.getInstance(context);
|
||||||
|
|
||||||
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context, R.array.visibility, android.R.layout.simple_spinner_dropdown_item);
|
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context, R.array.visibility, android.R.layout.simple_spinner_dropdown_item);
|
||||||
visibilitySelector.setAdapter(adapter);
|
visibilitySelector.setAdapter(adapter);
|
||||||
AppStyles.setTheme(rootView);
|
AppStyles.setTheme(rootView);
|
||||||
|
if (!settings.getLogin().getConfiguration().statusVisibilitySupported()) {
|
||||||
|
statusVisibility.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
if (!settings.getLogin().getConfiguration().statusSpoilerSupported()) {
|
||||||
|
statusSpoiler.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
sensitiveCheck.setOnCheckedChangeListener(this);
|
sensitiveCheck.setOnCheckedChangeListener(this);
|
||||||
spoilerCheck.setOnCheckedChangeListener(this);
|
spoilerCheck.setOnCheckedChangeListener(this);
|
||||||
visibilitySelector.setOnItemSelectedListener(this);
|
visibilitySelector.setOnItemSelectedListener(this);
|
||||||
|
|
|
@ -18,47 +18,46 @@
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:gravity="center_vertical|end"
|
|
||||||
android:layout_marginBottom="@dimen/dialog_status_layout_margins">
|
android:layout_marginBottom="@dimen/dialog_status_layout_margins">
|
||||||
|
|
||||||
|
<com.kyleduo.switchbutton.SwitchButton
|
||||||
|
android:id="@+id/dialog_status_sensitive"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/dialog_status_layout_margins"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/dialog_status_sensitive"
|
android:text="@string/dialog_status_sensitive"
|
||||||
android:layout_marginEnd="@dimen/dialog_status_layout_margins"
|
|
||||||
android:lines="1"/>
|
android:lines="1"/>
|
||||||
|
|
||||||
<com.kyleduo.switchbutton.SwitchButton
|
|
||||||
android:id="@+id/dialog_status_sensitive"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/dialog_status_spoiler_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:gravity="end"
|
|
||||||
android:layout_marginBottom="@dimen/dialog_status_layout_margins">
|
android:layout_marginBottom="@dimen/dialog_status_layout_margins">
|
||||||
|
|
||||||
|
<com.kyleduo.switchbutton.SwitchButton
|
||||||
|
android:id="@+id/dialog_status_spoiler"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/dialog_status_layout_margins"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/dialog_status_spoiler"
|
android:text="@string/dialog_status_spoiler"
|
||||||
android:layout_marginEnd="@dimen/dialog_status_layout_margins"
|
|
||||||
android:lines="1"/>
|
android:lines="1"/>
|
||||||
|
|
||||||
<com.kyleduo.switchbutton.SwitchButton
|
|
||||||
android:id="@+id/dialog_status_spoiler"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/dialog_status_visibility_container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal">
|
||||||
android:gravity="end">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
|
|
|
@ -387,7 +387,7 @@
|
||||||
android:layout_marginEnd="@dimen/settings_switch_margin"
|
android:layout_marginEnd="@dimen/settings_switch_margin"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/toggleImg"
|
app:layout_constraintTop_toBottomOf="@id/toggleImg"
|
||||||
app:layout_constraintBottom_toTopOf="@id/settings_list_seek"
|
app:layout_constraintBottom_toTopOf="@id/settings_local_timeline"
|
||||||
app:layout_constraintEnd_toStartOf="@id/settings_enable_twitter_alt_descr" />
|
app:layout_constraintEnd_toStartOf="@id/settings_enable_twitter_alt_descr" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -402,6 +402,29 @@
|
||||||
app:layout_constraintBottom_toBottomOf="@id/settings_enable_twitter_alt"
|
app:layout_constraintBottom_toBottomOf="@id/settings_enable_twitter_alt"
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<com.kyleduo.switchbutton.SwitchButton
|
||||||
|
android:id="@+id/settings_local_timeline"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="@dimen/settings_column_margin"
|
||||||
|
android:layout_marginEnd="@dimen/settings_switch_margin"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/settings_enable_twitter_alt"
|
||||||
|
app:layout_constraintBottom_toTopOf="@id/settings_list_seek"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/settings_local_timeline_descr" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/settings_local_timeline_descr"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:lines="1"
|
||||||
|
android:text="@string/settings_description_local_timeline"
|
||||||
|
android:textSize="@dimen/settings_textsize_small"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/settings_local_timeline"
|
||||||
|
app:layout_constraintTop_toTopOf="@id/settings_local_timeline"
|
||||||
|
app:layout_constraintBottom_toBottomOf="@id/settings_local_timeline"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/settings_list_seek_descr"
|
android:id="@+id/settings_list_seek_descr"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -419,10 +442,9 @@
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:layout_marginBottom="@dimen/settings_column_margin"
|
|
||||||
android:max="9"
|
android:max="9"
|
||||||
app:layout_constraintStart_toEndOf="@id/settings_list_seek_descr"
|
app:layout_constraintStart_toEndOf="@id/settings_list_seek_descr"
|
||||||
app:layout_constraintTop_toBottomOf="@id/settings_enable_twitter_alt"
|
app:layout_constraintTop_toBottomOf="@id/settings_local_timeline_descr"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@id/settings_list_size" />
|
app:layout_constraintEnd_toStartOf="@id/settings_list_size" />
|
||||||
|
|
||||||
|
|
|
@ -9,11 +9,6 @@
|
||||||
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||||
app:showAsAction="always|collapseActionView" />
|
app:showAsAction="always|collapseActionView" />
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/menu_local_timeline"
|
|
||||||
android:title="@string/menu_show_local_timeline"
|
|
||||||
android:checkable="true" />
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_profile"
|
android:id="@+id/menu_profile"
|
||||||
android:title="@string/menu_open_home_profile"
|
android:title="@string/menu_open_home_profile"
|
||||||
|
|
|
@ -267,7 +267,6 @@
|
||||||
<string name="info_missing_key">bitte Schlüssel eingeben</string>
|
<string name="info_missing_key">bitte Schlüssel eingeben</string>
|
||||||
<string name="info_missing_host">bitte gültigen Hostnamen eingeben</string>
|
<string name="info_missing_host">bitte gültigen Hostnamen eingeben</string>
|
||||||
<string name="info_missing_api_keys">Bitte API-Schlüssel hinzufügen</string>
|
<string name="info_missing_api_keys">Bitte API-Schlüssel hinzufügen</string>
|
||||||
<string name="menu_show_local_timeline">zeige lokale Timeline</string>
|
|
||||||
<string name="info_status_bookmarked">Status zu Lesezeichen hinzugefügt</string>
|
<string name="info_status_bookmarked">Status zu Lesezeichen hinzugefügt</string>
|
||||||
<string name="info_status_unbookmarked">Status aus Lesezeichen entfernt</string>
|
<string name="info_status_unbookmarked">Status aus Lesezeichen entfernt</string>
|
||||||
<string name="settings_bookmark_color">Lesezeichen symbol</string>
|
<string name="settings_bookmark_color">Lesezeichen symbol</string>
|
||||||
|
@ -285,4 +284,11 @@
|
||||||
<string name="dialog_poll_duration_hint">Dauer</string>
|
<string name="dialog_poll_duration_hint">Dauer</string>
|
||||||
<string name="poll_option_edit_button">hinzufügen/entfernen</string>
|
<string name="poll_option_edit_button">hinzufügen/entfernen</string>
|
||||||
<string name="status_add_poll">Umfrage hinzufügen</string>
|
<string name="status_add_poll">Umfrage hinzufügen</string>
|
||||||
|
<string name="status_pref">Statuseinstellungen</string>
|
||||||
|
<string name="settings_description_local_timeline">nur lokale Timeline zeigen</string>
|
||||||
|
<string name="dialog_poll_close">Dialogfenster schließen</string>
|
||||||
|
<string name="dialog_status_title">Statuseinstellungen</string>
|
||||||
|
<string name="dialog_status_sensitive">sensibel</string>
|
||||||
|
<string name="dialog_status_spoiler">Spoiler</string>
|
||||||
|
<string name="dialog_status_visibility">Sichtbarkeit</string>
|
||||||
</resources>
|
</resources>
|
|
@ -146,7 +146,6 @@
|
||||||
<string name="menu_excluded_users">Blocklists</string>
|
<string name="menu_excluded_users">Blocklists</string>
|
||||||
<string name="menu_exclude_user">exclude user</string>
|
<string name="menu_exclude_user">exclude user</string>
|
||||||
<string name="menu_search_filter">filter results</string>
|
<string name="menu_search_filter">filter results</string>
|
||||||
<string name="menu_show_local_timeline">show local timeline</string>
|
|
||||||
<string name="menu_hint_mute_user">enter @name to mute</string>
|
<string name="menu_hint_mute_user">enter @name to mute</string>
|
||||||
<string name="menu_hint_block_user">enter @name to block</string>
|
<string name="menu_hint_block_user">enter @name to block</string>
|
||||||
<string name="menu_refresh_exclude">refresh exclude list</string>
|
<string name="menu_refresh_exclude">refresh exclude list</string>
|
||||||
|
@ -214,7 +213,7 @@
|
||||||
<string name="status_add_image">add new image</string>
|
<string name="status_add_image">add new image</string>
|
||||||
<string name="notification_dismiss">dismiss notification</string>
|
<string name="notification_dismiss">dismiss notification</string>
|
||||||
<string name="send_status">share status</string>
|
<string name="send_status">share status</string>
|
||||||
<string name="status_pref">status preferences</string>
|
<string name="status_pref">Status preferences</string>
|
||||||
<string name="status_add_poll">add poll</string>
|
<string name="status_add_poll">add poll</string>
|
||||||
<string name="status_close">close editor</string>
|
<string name="status_close">close editor</string>
|
||||||
<string name="profile_link">Link</string>
|
<string name="profile_link">Link</string>
|
||||||
|
@ -260,6 +259,7 @@
|
||||||
<string name="settings_enable_toolbar_overlap">Collapsed profile layout</string>
|
<string name="settings_enable_toolbar_overlap">Collapsed profile layout</string>
|
||||||
<string name="settings_look">Look</string>
|
<string name="settings_look">Look</string>
|
||||||
<string name="settings_description_enable_twitter_alt">use nitter.net for links</string>
|
<string name="settings_description_enable_twitter_alt">use nitter.net for links</string>
|
||||||
|
<string name="settings_description_local_timeline">show local timelines only</string>
|
||||||
<string name="item_load_more">load more</string>
|
<string name="item_load_more">load more</string>
|
||||||
<string name="item_image_save">save image</string>
|
<string name="item_image_save">save image</string>
|
||||||
<string name="item_poll_option_vote">vote</string>
|
<string name="item_poll_option_vote">vote</string>
|
||||||
|
@ -316,6 +316,6 @@
|
||||||
<string name="dialog_poll_close">close dialog</string>
|
<string name="dialog_poll_close">close dialog</string>
|
||||||
<string name="dialog_status_title">Status preferences</string>
|
<string name="dialog_status_title">Status preferences</string>
|
||||||
<string name="dialog_status_sensitive">sensitive</string>
|
<string name="dialog_status_sensitive">sensitive</string>
|
||||||
<string name="dialog_status_spoiler">spoiler</string>
|
<string name="dialog_status_spoiler">Spoiler</string>
|
||||||
<string name="dialog_status_visibility">visibility</string>
|
<string name="dialog_status_visibility">Visibility</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue