mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-07 23:58:44 +01:00
removed metrics dialog, removed unused resources, bug fix
This commit is contained in:
parent
5d8ffb07b1
commit
2988726d50
@ -11,7 +11,6 @@ import org.nuclearfog.twidda.model.Card;
|
|||||||
import org.nuclearfog.twidda.model.Emoji;
|
import org.nuclearfog.twidda.model.Emoji;
|
||||||
import org.nuclearfog.twidda.model.Location;
|
import org.nuclearfog.twidda.model.Location;
|
||||||
import org.nuclearfog.twidda.model.Media;
|
import org.nuclearfog.twidda.model.Media;
|
||||||
import org.nuclearfog.twidda.model.Metrics;
|
|
||||||
import org.nuclearfog.twidda.model.Poll;
|
import org.nuclearfog.twidda.model.Poll;
|
||||||
import org.nuclearfog.twidda.model.Status;
|
import org.nuclearfog.twidda.model.Status;
|
||||||
import org.nuclearfog.twidda.model.User;
|
import org.nuclearfog.twidda.model.User;
|
||||||
@ -344,13 +343,6 @@ public class MastodonStatus implements Status {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public Metrics getMetrics() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(@Nullable Object obj) {
|
public boolean equals(@Nullable Object obj) {
|
||||||
if (!(obj instanceof Status))
|
if (!(obj instanceof Status))
|
||||||
|
@ -315,7 +315,7 @@ public class AppStyles {
|
|||||||
* @param color new drawable color
|
* @param color new drawable color
|
||||||
*/
|
*/
|
||||||
public static void setDrawableColor(@Nullable Drawable drawable, int color) {
|
public static void setDrawableColor(@Nullable Drawable drawable, int color) {
|
||||||
if (drawable != null) {
|
if (drawable != null && !(drawable instanceof BitmapDrawable)) {
|
||||||
drawable.mutate().setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN));
|
drawable.mutate().setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,16 +32,10 @@ public class StringUtils {
|
|||||||
public static final NumberFormat NUMBER_FORMAT = NumberFormat.getIntegerInstance();
|
public static final NumberFormat NUMBER_FORMAT = NumberFormat.getIntegerInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* date format used by API 1.1
|
* date format
|
||||||
* e.g. "Mon Jan 17 13:00:12 +0000 2022"
|
|
||||||
*/
|
|
||||||
private static final SimpleDateFormat dateFormat1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.US);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* date format used by API 2.0
|
|
||||||
* e.g. "2008-08-15T13:51:34.000Z"
|
* e.g. "2008-08-15T13:51:34.000Z"
|
||||||
*/
|
*/
|
||||||
private static final SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
|
private static final SimpleDateFormat defaultDateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
|
||||||
|
|
||||||
private static final TimeZone TIME_ZONE = TimeZone.getDefault();
|
private static final TimeZone TIME_ZONE = TimeZone.getDefault();
|
||||||
|
|
||||||
@ -170,7 +164,7 @@ public class StringUtils {
|
|||||||
switch (timeFormat) {
|
switch (timeFormat) {
|
||||||
default:
|
default:
|
||||||
case TIME_MASTODON:
|
case TIME_MASTODON:
|
||||||
Date result = dateFormat2.parse(timeStr);
|
Date result = defaultDateformat.parse(timeStr);
|
||||||
if (result != null)
|
if (result != null)
|
||||||
return result.getTime() + TIME_ZONE.getOffset(System.currentTimeMillis());
|
return result.getTime() + TIME_ZONE.getOffset(System.currentTimeMillis());
|
||||||
break;
|
break;
|
||||||
|
@ -13,7 +13,6 @@ import org.nuclearfog.twidda.model.Card;
|
|||||||
import org.nuclearfog.twidda.model.Emoji;
|
import org.nuclearfog.twidda.model.Emoji;
|
||||||
import org.nuclearfog.twidda.model.Location;
|
import org.nuclearfog.twidda.model.Location;
|
||||||
import org.nuclearfog.twidda.model.Media;
|
import org.nuclearfog.twidda.model.Media;
|
||||||
import org.nuclearfog.twidda.model.Metrics;
|
|
||||||
import org.nuclearfog.twidda.model.Poll;
|
import org.nuclearfog.twidda.model.Poll;
|
||||||
import org.nuclearfog.twidda.model.Status;
|
import org.nuclearfog.twidda.model.Status;
|
||||||
import org.nuclearfog.twidda.model.User;
|
import org.nuclearfog.twidda.model.User;
|
||||||
@ -285,13 +284,6 @@ public class DatabaseStatus implements Status, StatusTable, StatusRegisterTable
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public Metrics getMetrics() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(@Nullable Object obj) {
|
public boolean equals(@Nullable Object obj) {
|
||||||
if (!(obj instanceof Status))
|
if (!(obj instanceof Status))
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
package org.nuclearfog.twidda.model;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Status metrics class containing information like views and link clicks
|
|
||||||
*
|
|
||||||
* @author nuclearfog
|
|
||||||
*/
|
|
||||||
public interface Metrics extends Serializable {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get view count of the status
|
|
||||||
*
|
|
||||||
* @return view count
|
|
||||||
*/
|
|
||||||
int getViews();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get number of quotes
|
|
||||||
*
|
|
||||||
* @return quote count
|
|
||||||
*/
|
|
||||||
int getQuoteCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get link click count
|
|
||||||
*
|
|
||||||
* @return click count
|
|
||||||
*/
|
|
||||||
int getLinkClicks();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get profile click count
|
|
||||||
*
|
|
||||||
* @return click count
|
|
||||||
*/
|
|
||||||
int getProfileClicks();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get video view count
|
|
||||||
*
|
|
||||||
* @return video view count
|
|
||||||
*/
|
|
||||||
int getVideoViews();
|
|
||||||
}
|
|
@ -182,12 +182,6 @@ public interface Status extends Serializable, Comparable<Status> {
|
|||||||
@Nullable
|
@Nullable
|
||||||
Poll getPoll();
|
Poll getPoll();
|
||||||
|
|
||||||
/**
|
|
||||||
* @return status metrics or null if status doesn't belong to the current user
|
|
||||||
*/
|
|
||||||
@Nullable
|
|
||||||
Metrics getMetrics();
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
default int compareTo(Status status) {
|
default int compareTo(Status status) {
|
||||||
|
@ -78,7 +78,6 @@ import org.nuclearfog.twidda.ui.adapter.recyclerview.PreviewAdapter.OnCardClickL
|
|||||||
import org.nuclearfog.twidda.ui.dialogs.AudioPlayerDialog;
|
import org.nuclearfog.twidda.ui.dialogs.AudioPlayerDialog;
|
||||||
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog;
|
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog;
|
||||||
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog.OnConfirmListener;
|
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog.OnConfirmListener;
|
||||||
import org.nuclearfog.twidda.ui.dialogs.MetricsDialog;
|
|
||||||
import org.nuclearfog.twidda.ui.dialogs.ReportDialog;
|
import org.nuclearfog.twidda.ui.dialogs.ReportDialog;
|
||||||
import org.nuclearfog.twidda.ui.fragments.StatusFragment;
|
import org.nuclearfog.twidda.ui.fragments.StatusFragment;
|
||||||
|
|
||||||
@ -171,7 +170,6 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||||||
private Picasso picasso;
|
private Picasso picasso;
|
||||||
private PreviewAdapter adapter;
|
private PreviewAdapter adapter;
|
||||||
private ConfirmDialog confirmDialog;
|
private ConfirmDialog confirmDialog;
|
||||||
private MetricsDialog metricsDialog;
|
|
||||||
private AudioPlayerDialog audioDialog;
|
private AudioPlayerDialog audioDialog;
|
||||||
private ReportDialog reportDialog;
|
private ReportDialog reportDialog;
|
||||||
|
|
||||||
@ -227,7 +225,6 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||||||
translationLoader = new TranslationLoader(this);
|
translationLoader = new TranslationLoader(this);
|
||||||
emojiLoader = new TextEmojiLoader(this);
|
emojiLoader = new TextEmojiLoader(this);
|
||||||
confirmDialog = new ConfirmDialog(this, this);
|
confirmDialog = new ConfirmDialog(this, this);
|
||||||
metricsDialog = new MetricsDialog(this);
|
|
||||||
audioDialog = new AudioPlayerDialog(this);
|
audioDialog = new AudioPlayerDialog(this);
|
||||||
reportDialog = new ReportDialog(this);
|
reportDialog = new ReportDialog(this);
|
||||||
picasso = PicassoBuilder.get(this);
|
picasso = PicassoBuilder.get(this);
|
||||||
@ -382,7 +379,6 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||||||
MenuItem optHide = m.findItem(R.id.menu_status_hide);
|
MenuItem optHide = m.findItem(R.id.menu_status_hide);
|
||||||
MenuItem optCopy = m.findItem(R.id.menu_status_copy);
|
MenuItem optCopy = m.findItem(R.id.menu_status_copy);
|
||||||
MenuItem optReport = m.findItem(R.id.menu_status_report);
|
MenuItem optReport = m.findItem(R.id.menu_status_report);
|
||||||
MenuItem optMetrics = m.findItem(R.id.menu_status_metrics);
|
|
||||||
MenuItem menuBookmark = m.findItem(R.id.menu_status_bookmark);
|
MenuItem menuBookmark = m.findItem(R.id.menu_status_bookmark);
|
||||||
MenuItem editStatus = m.findItem(R.id.menu_status_edit);
|
MenuItem editStatus = m.findItem(R.id.menu_status_edit);
|
||||||
SubMenu copyMenu = optCopy.getSubMenu();
|
SubMenu copyMenu = optCopy.getSubMenu();
|
||||||
@ -414,10 +410,6 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||||||
} else {
|
} else {
|
||||||
optReport.setVisible(true);
|
optReport.setVisible(true);
|
||||||
}
|
}
|
||||||
// enable/disable status metrics option
|
|
||||||
if (currentStatus.getMetrics() != null) {
|
|
||||||
optMetrics.setVisible(true);
|
|
||||||
}
|
|
||||||
// add media link items
|
// add media link items
|
||||||
// check if menu doesn't contain media links already
|
// check if menu doesn't contain media links already
|
||||||
if (copyMenu.size() == 2) {
|
if (copyMenu.size() == 2) {
|
||||||
@ -486,12 +478,6 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// open status metrics page
|
|
||||||
else if (item.getItemId() == R.id.menu_status_metrics) {
|
|
||||||
if (status.getMetrics() != null) {
|
|
||||||
metricsDialog.show(status.getMetrics());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// copy media links
|
// copy media links
|
||||||
else if (item.getGroupId() == MENU_GROUP_COPY) {
|
else if (item.getGroupId() == MENU_GROUP_COPY) {
|
||||||
int index = item.getItemId();
|
int index = item.getItemId();
|
||||||
|
@ -1,139 +0,0 @@
|
|||||||
package org.nuclearfog.twidda.ui.dialogs;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.app.Dialog;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
|
|
||||||
import org.nuclearfog.twidda.R;
|
|
||||||
import org.nuclearfog.twidda.backend.utils.AppStyles;
|
|
||||||
import org.nuclearfog.twidda.backend.utils.StringUtils;
|
|
||||||
import org.nuclearfog.twidda.config.GlobalSettings;
|
|
||||||
import org.nuclearfog.twidda.model.Metrics;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Status metrics dialog
|
|
||||||
*
|
|
||||||
* @author nuclearfog
|
|
||||||
*/
|
|
||||||
public class MetricsDialog extends Dialog {
|
|
||||||
|
|
||||||
private static final String KEY_SAVE = "metrics-save";
|
|
||||||
|
|
||||||
private TextView views, profileClicks, linkClicks, quotes, videoViews;
|
|
||||||
private View linkIcon, quoteIcon, videoIcon;
|
|
||||||
|
|
||||||
private GlobalSettings settings;
|
|
||||||
|
|
||||||
private Metrics metrics;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public MetricsDialog(Activity activity) {
|
|
||||||
super(activity, R.style.DefaultDialog);
|
|
||||||
settings = GlobalSettings.get(activity);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.dialog_metrics);
|
|
||||||
ViewGroup root = findViewById(R.id.dialog_metrics_root);
|
|
||||||
views = findViewById(R.id.dialog_metrics_views);
|
|
||||||
profileClicks = findViewById(R.id.dialog_metrics_profile_clicks);
|
|
||||||
linkClicks = findViewById(R.id.dialog_metrics_link_clicks);
|
|
||||||
quotes = findViewById(R.id.dialog_metrics_quotes);
|
|
||||||
videoViews = findViewById(R.id.dialog_metrics_video_view);
|
|
||||||
linkIcon = findViewById(R.id.dialog_metrics_link_clicks_icon);
|
|
||||||
quoteIcon = findViewById(R.id.dialog_metrics_quotes_icon);
|
|
||||||
videoIcon = findViewById(R.id.dialog_metrics_video_view_icon);
|
|
||||||
AppStyles.setTheme(root, settings.getPopupColor());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onStart() {
|
|
||||||
super.onStart();
|
|
||||||
if (metrics != null) {
|
|
||||||
views.setText(StringUtils.NUMBER_FORMAT.format(metrics.getViews()));
|
|
||||||
profileClicks.setText(StringUtils.NUMBER_FORMAT.format(metrics.getProfileClicks()));
|
|
||||||
if (metrics.getLinkClicks() > 0) {
|
|
||||||
linkClicks.setText(StringUtils.NUMBER_FORMAT.format(metrics.getLinkClicks()));
|
|
||||||
linkClicks.setVisibility(View.VISIBLE);
|
|
||||||
linkIcon.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
linkClicks.setVisibility(View.GONE);
|
|
||||||
linkIcon.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
if (metrics.getQuoteCount() > 0) {
|
|
||||||
quotes.setText(StringUtils.NUMBER_FORMAT.format(metrics.getQuoteCount()));
|
|
||||||
quotes.setVisibility(View.VISIBLE);
|
|
||||||
quoteIcon.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
quotes.setVisibility(View.GONE);
|
|
||||||
quoteIcon.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
if (metrics.getVideoViews() > 0) {
|
|
||||||
videoViews.setText(StringUtils.NUMBER_FORMAT.format(metrics.getVideoViews()));
|
|
||||||
videoViews.setVisibility(View.VISIBLE);
|
|
||||||
videoIcon.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
videoViews.setVisibility(View.GONE);
|
|
||||||
videoIcon.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
public Bundle onSaveInstanceState() {
|
|
||||||
Bundle bundle = super.onSaveInstanceState();
|
|
||||||
bundle.putSerializable(KEY_SAVE, metrics);
|
|
||||||
return bundle;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
|
|
||||||
Serializable data = savedInstanceState.getSerializable(KEY_SAVE);
|
|
||||||
if (data instanceof Metrics) {
|
|
||||||
metrics = (Metrics) data;
|
|
||||||
}
|
|
||||||
super.onRestoreInstanceState(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void show() {
|
|
||||||
// using show(Metrics) instead
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void dismiss() {
|
|
||||||
if (isShowing()) {
|
|
||||||
super.dismiss();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* show dialog window
|
|
||||||
*
|
|
||||||
* @param metrics status metrics to show
|
|
||||||
*/
|
|
||||||
public void show(Metrics metrics) {
|
|
||||||
if (!isShowing()) {
|
|
||||||
this.metrics = metrics;
|
|
||||||
super.show();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="20dp"
|
|
||||||
android:height="20dp"
|
|
||||||
android:viewportWidth="20"
|
|
||||||
android:viewportHeight="20">
|
|
||||||
<path
|
|
||||||
android:pathData="M5.315,3.401c-1.61,0 -2.916,1.343 -2.916,3c0,1.656 1.306,3 2.916,3c2.915,0 0.972,5.799 -2.916,5.799v1.4C9.338,16.601 12.057,3.401 5.315,3.401zM13.715,3.401c-1.609,0 -2.915,1.343 -2.915,3c0,1.656 1.306,3 2.915,3c2.916,0 0.973,5.799 -2.915,5.799v1.4C17.738,16.601 20.457,3.401 13.715,3.401z"
|
|
||||||
android:fillColor="#FFFFFF" />
|
|
||||||
</vector>
|
|
@ -1,9 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="20dp"
|
|
||||||
android:height="20dp"
|
|
||||||
android:viewportWidth="20"
|
|
||||||
android:viewportHeight="20">
|
|
||||||
<path
|
|
||||||
android:pathData="M10,4.4C3.439,4.4 0,9.232 0,10c0,0.766 3.439,5.6 10,5.6c6.56,0 10,-4.834 10,-5.6C20,9.232 16.56,4.4 10,4.4zM10,14.307c-2.455,0 -4.445,-1.928 -4.445,-4.307S7.545,5.691 10,5.691s4.444,1.93 4.444,4.309S12.455,14.307 10,14.307zM10,10c-0.407,-0.447 0.663,-2.154 0,-2.154c-1.228,0 -2.223,0.965 -2.223,2.154S8.772,12.154 10,12.154c1.227,0 2.223,-0.965 2.223,-2.154C12.223,9.453 10.346,10.379 10,10z"
|
|
||||||
android:fillColor="#FFFFFF" />
|
|
||||||
</vector>
|
|
@ -1,136 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
android:id="@+id/dialog_metrics_root"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:paddingStart="@dimen/dialog_metrics_layout_padding"
|
|
||||||
android:paddingBottom="@dimen/dialog_metrics_layout_padding"
|
|
||||||
android:paddingEnd="@dimen/dialog_metrics_layout_padding"
|
|
||||||
tools:context=".ui.dialogs.MetricsDialog"
|
|
||||||
tools:ignore="ContentDescription">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_title"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textSize="@dimen/dialog_metrics_title_textsize"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:text="@string/status_metrics_title"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dialog_metrics_views_icon"
|
|
||||||
android:layout_width="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:layout_height="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:src="@drawable/views"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/dialog_metrics_views"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/dialog_metrics_views"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/dialog_metrics_views" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_views"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:drawablePadding="@dimen/dialog_metrics_drawable_padding"
|
|
||||||
android:textSize="@dimen/dialog_metrics_item_textsize"
|
|
||||||
android:gravity="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/dialog_metrics_views_icon"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/dialog_metrics_title"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/metrics_profile_clicks_icon"
|
|
||||||
android:layout_width="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:layout_height="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:src="@drawable/user"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/dialog_metrics_profile_clicks"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/dialog_metrics_profile_clicks"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/dialog_metrics_profile_clicks" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_profile_clicks"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:drawablePadding="@dimen/dialog_metrics_drawable_padding"
|
|
||||||
android:textSize="@dimen/dialog_metrics_item_textsize"
|
|
||||||
android:gravity="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/metrics_profile_clicks_icon"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/dialog_metrics_views"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dialog_metrics_link_clicks_icon"
|
|
||||||
android:layout_width="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:layout_height="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:src="@drawable/link"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/dialog_metrics_link_clicks"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/dialog_metrics_link_clicks"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/dialog_metrics_link_clicks" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_link_clicks"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:drawablePadding="@dimen/dialog_metrics_drawable_padding"
|
|
||||||
android:textSize="@dimen/dialog_metrics_item_textsize"
|
|
||||||
android:gravity="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/dialog_metrics_link_clicks_icon"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/dialog_metrics_profile_clicks"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dialog_metrics_quotes_icon"
|
|
||||||
android:layout_width="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:layout_height="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:src="@drawable/quote"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/dialog_metrics_quotes"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/dialog_metrics_quotes"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/dialog_metrics_quotes" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_quotes"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:drawablePadding="@dimen/dialog_metrics_drawable_padding"
|
|
||||||
android:textSize="@dimen/dialog_metrics_item_textsize"
|
|
||||||
android:gravity="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/dialog_metrics_quotes_icon"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/dialog_metrics_link_clicks"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/dialog_metrics_video_view_icon"
|
|
||||||
android:layout_width="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:layout_height="@dimen/dialog_metrics_item_iconsize"
|
|
||||||
android:src="@drawable/play"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="@id/dialog_metrics_video_view"
|
|
||||||
app:layout_constraintBottom_toBottomOf="@id/dialog_metrics_video_view"
|
|
||||||
app:layout_constraintEnd_toStartOf="@id/dialog_metrics_video_view" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/dialog_metrics_video_view"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_margin="@dimen/dialog_metrics_layout_margin"
|
|
||||||
android:drawablePadding="@dimen/dialog_metrics_drawable_padding"
|
|
||||||
android:textSize="@dimen/dialog_metrics_item_textsize"
|
|
||||||
android:gravity="end"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/dialog_metrics_video_view_icon"
|
|
||||||
app:layout_constraintTop_toBottomOf="@id/dialog_metrics_quotes"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -24,11 +24,6 @@
|
|||||||
android:id="@+id/menu_status_bookmark"
|
android:id="@+id/menu_status_bookmark"
|
||||||
android:title="@string/menu_bookmark_add" />
|
android:title="@string/menu_bookmark_add" />
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/menu_status_metrics"
|
|
||||||
android:title="@string/menu_status_metrics"
|
|
||||||
android:visible="false" />
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_status_hide"
|
android:id="@+id/menu_status_hide"
|
||||||
android:title="@string/menu_status_hide"
|
android:title="@string/menu_status_hide"
|
||||||
|
@ -250,7 +250,6 @@
|
|||||||
<string name="menu_toolbar_excluded_users">Blocklisten</string>
|
<string name="menu_toolbar_excluded_users">Blocklisten</string>
|
||||||
<string name="menu_toolbar_request">Follow Anfragen</string>
|
<string name="menu_toolbar_request">Follow Anfragen</string>
|
||||||
<string name="info_status_location_copied">Standortkoordinaten kopiert</string>
|
<string name="info_status_location_copied">Standortkoordinaten kopiert</string>
|
||||||
<string name="menu_status_metrics">Metriken</string>
|
|
||||||
<string name="settings_enable_indicators">zeige zusätzliche Status Informationen an</string>
|
<string name="settings_enable_indicators">zeige zusätzliche Status Informationen an</string>
|
||||||
<string name="login_key_enable">Token einfügen</string>
|
<string name="login_key_enable">Token einfügen</string>
|
||||||
<string name="login_key_enable_v2">API v2 nutzen</string>
|
<string name="login_key_enable_v2">API v2 nutzen</string>
|
||||||
@ -262,7 +261,6 @@
|
|||||||
<string name="menu_media_add_description">Beschreibung hinzufügen</string>
|
<string name="menu_media_add_description">Beschreibung hinzufügen</string>
|
||||||
<string name="menu_media_show_meta">zeige Medieninformationen</string>
|
<string name="menu_media_show_meta">zeige Medieninformationen</string>
|
||||||
<string name="status_replyname_empty">Antwort</string>
|
<string name="status_replyname_empty">Antwort</string>
|
||||||
<string name="status_metrics_title">Statusmetriken</string>
|
|
||||||
<string name="error_empty_text">Text ist leer!</string>
|
<string name="error_empty_text">Text ist leer!</string>
|
||||||
<string name="status_media_preview">Medienvorschau</string>
|
<string name="status_media_preview">Medienvorschau</string>
|
||||||
<string name="status_media_preview_button">Videovorschau-Button</string>
|
<string name="status_media_preview_button">Videovorschau-Button</string>
|
||||||
|
@ -127,7 +127,6 @@
|
|||||||
<string name="menu_status_edit">Editar</string>
|
<string name="menu_status_edit">Editar</string>
|
||||||
<string name="menu_status_delete">Borrar</string>
|
<string name="menu_status_delete">Borrar</string>
|
||||||
<string name="menu_status_hide">Ocultar</string>
|
<string name="menu_status_hide">Ocultar</string>
|
||||||
<string name="menu_status_metrics">Estadísticas</string>
|
|
||||||
<string name="menu_status_unhide">Mostrar</string>
|
<string name="menu_status_unhide">Mostrar</string>
|
||||||
<string name="menu_status_open_browser">Abrir en navegador</string>
|
<string name="menu_status_open_browser">Abrir en navegador</string>
|
||||||
<string name="menu_mute_user">Silenciar</string>
|
<string name="menu_mute_user">Silenciar</string>
|
||||||
@ -275,7 +274,6 @@
|
|||||||
<string name="toolbar_status_liker">Usuario le está gustando este estado</string>
|
<string name="toolbar_status_liker">Usuario le está gustando este estado</string>
|
||||||
<string name="time_now">Ahora</string>
|
<string name="time_now">Ahora</string>
|
||||||
<string name="status_replyname_empty">Responder</string>
|
<string name="status_replyname_empty">Responder</string>
|
||||||
<string name="status_metrics_title">Estadísticas del estado</string>
|
|
||||||
<string name="status_media_preview">Vista previa de los medios</string>
|
<string name="status_media_preview">Vista previa de los medios</string>
|
||||||
<string name="status_media_preview_button">Botón de vista previa del video</string>
|
<string name="status_media_preview_button">Botón de vista previa del video</string>
|
||||||
<string name="poll_finished">Votación finalizada</string>
|
<string name="poll_finished">Votación finalizada</string>
|
||||||
|
@ -199,14 +199,6 @@
|
|||||||
<!--dimens of fragment_list.xml-->
|
<!--dimens of fragment_list.xml-->
|
||||||
<dimen name="fragment_list_layout_padding">3dp</dimen>
|
<dimen name="fragment_list_layout_padding">3dp</dimen>
|
||||||
|
|
||||||
<!-- dimens of dialog_metrics.xml-->
|
|
||||||
<dimen name="dialog_metrics_layout_margin">5dp</dimen>
|
|
||||||
<dimen name="dialog_metrics_layout_padding">12dp</dimen>
|
|
||||||
<dimen name="dialog_metrics_drawable_padding">5dp</dimen>
|
|
||||||
<dimen name="dialog_metrics_title_textsize">20sp</dimen>
|
|
||||||
<dimen name="dialog_metrics_item_textsize">16sp</dimen>
|
|
||||||
<dimen name="dialog_metrics_item_iconsize">20sp</dimen>
|
|
||||||
|
|
||||||
<!--dimens of dialog_confirm.xml-->
|
<!--dimens of dialog_confirm.xml-->
|
||||||
<dimen name="confirm_button_margin">10dp</dimen>
|
<dimen name="confirm_button_margin">10dp</dimen>
|
||||||
<dimen name="confirm_text_margin">14dp</dimen>
|
<dimen name="confirm_text_margin">14dp</dimen>
|
||||||
|
@ -151,7 +151,6 @@
|
|||||||
<string name="menu_status_delete">delete</string>
|
<string name="menu_status_delete">delete</string>
|
||||||
<string name="menu_status_report">report</string>
|
<string name="menu_status_report">report</string>
|
||||||
<string name="menu_status_hide">hide</string>
|
<string name="menu_status_hide">hide</string>
|
||||||
<string name="menu_status_metrics">Metrics</string>
|
|
||||||
<string name="menu_status_unhide">unhide</string>
|
<string name="menu_status_unhide">unhide</string>
|
||||||
<string name="menu_status_open_browser">open in browser</string>
|
<string name="menu_status_open_browser">open in browser</string>
|
||||||
<string name="menu_mute_user">mute</string>
|
<string name="menu_mute_user">mute</string>
|
||||||
@ -318,7 +317,6 @@
|
|||||||
<string name="toolbar_status_liker">User liking this status</string>
|
<string name="toolbar_status_liker">User liking this status</string>
|
||||||
<string name="time_now">now</string>
|
<string name="time_now">now</string>
|
||||||
<string name="status_replyname_empty">Reply</string>
|
<string name="status_replyname_empty">Reply</string>
|
||||||
<string name="status_metrics_title">Status metrics</string>
|
|
||||||
<string name="status_media_preview">Media preview</string>
|
<string name="status_media_preview">Media preview</string>
|
||||||
<string name="status_media_preview_button">Video preview button</string>
|
<string name="status_media_preview_button">Video preview button</string>
|
||||||
<string name="poll_finished">Vote finished</string>
|
<string name="poll_finished">Vote finished</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user