#193 comment - change layout
This commit is contained in:
parent
606459d01e
commit
61541fb43e
|
@ -54,6 +54,7 @@ import android.view.MenuItem;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.Window;
|
||||||
import android.webkit.URLUtil;
|
import android.webkit.URLUtil;
|
||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
import android.webkit.WebViewClient;
|
import android.webkit.WebViewClient;
|
||||||
|
@ -365,7 +366,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
LinearLayout status_peertube_container;
|
LinearLayout status_peertube_container;
|
||||||
TextView status_peertube_reply, status_peertube_delete, show_more_content;
|
TextView status_peertube_reply, status_peertube_delete, show_more_content;
|
||||||
ImageView cached_status, status_account_bot;
|
ImageView cached_status, status_account_bot;
|
||||||
|
ImageView fedilab_features;
|
||||||
//Poll
|
//Poll
|
||||||
LinearLayout poll_container, single_choice, multiple_choice, rated;
|
LinearLayout poll_container, single_choice, multiple_choice, rated;
|
||||||
RadioGroup radio_group;
|
RadioGroup radio_group;
|
||||||
|
@ -461,7 +462,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
status_peertube_container = itemView.findViewById(R.id.status_peertube_container);
|
status_peertube_container = itemView.findViewById(R.id.status_peertube_container);
|
||||||
status_peertube_reply = itemView.findViewById(R.id.status_peertube_reply);
|
status_peertube_reply = itemView.findViewById(R.id.status_peertube_reply);
|
||||||
status_peertube_delete = itemView.findViewById(R.id.status_peertube_delete);
|
status_peertube_delete = itemView.findViewById(R.id.status_peertube_delete);
|
||||||
|
fedilab_features = itemView.findViewById(R.id.fedilab_features);
|
||||||
poll_container = itemView.findViewById(R.id.poll_container);
|
poll_container = itemView.findViewById(R.id.poll_container);
|
||||||
single_choice = itemView.findViewById(R.id.single_choice);
|
single_choice = itemView.findViewById(R.id.single_choice);
|
||||||
multiple_choice = itemView.findViewById(R.id.multiple_choice);
|
multiple_choice = itemView.findViewById(R.id.multiple_choice);
|
||||||
|
@ -473,6 +474,8 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
refresh_poll = itemView.findViewById(R.id.refresh_poll);
|
refresh_poll = itemView.findViewById(R.id.refresh_poll);
|
||||||
cached_status = itemView.findViewById(R.id.cached_status);
|
cached_status = itemView.findViewById(R.id.cached_status);
|
||||||
status_account_bot = itemView.findViewById(R.id.status_account_bot);
|
status_account_bot = itemView.findViewById(R.id.status_account_bot);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -580,10 +583,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type != RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE && !isCompactMode && !isConsoleMode && displayBookmarkButton)
|
|
||||||
holder.status_bookmark.setVisibility(View.VISIBLE);
|
|
||||||
else
|
|
||||||
holder.status_bookmark.setVisibility(View.GONE);
|
|
||||||
|
|
||||||
holder.status_reply.setText("");
|
holder.status_reply.setText("");
|
||||||
//Display a preview for accounts that have replied *if enabled and only for home timeline*
|
//Display a preview for accounts that have replied *if enabled and only for home timeline*
|
||||||
|
@ -939,11 +939,64 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
holder.status_account_displayname.setTextColor(ContextCompat.getColor(context, R.color.action_light_header));
|
holder.status_account_displayname.setTextColor(ContextCompat.getColor(context, R.color.action_light_header));
|
||||||
holder.status_toot_date.setTextColor(ContextCompat.getColor(context, R.color.light_black));
|
holder.status_toot_date.setTextColor(ContextCompat.getColor(context, R.color.light_black));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if( holder.status_bookmark != null) {
|
||||||
if (status.isBookmarked())
|
if (status.isBookmarked())
|
||||||
holder.status_bookmark.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_bookmark));
|
holder.status_bookmark.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_bookmark));
|
||||||
else
|
else
|
||||||
holder.status_bookmark.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_bookmark_border));
|
holder.status_bookmark.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.ic_bookmark_border));
|
||||||
|
if (type != RetrieveFeedsAsyncTask.Type.REMOTE_INSTANCE && !isCompactMode && !isConsoleMode && displayBookmarkButton)
|
||||||
|
holder.status_bookmark.setVisibility(View.VISIBLE);
|
||||||
|
else
|
||||||
|
holder.status_bookmark.setVisibility(View.GONE);
|
||||||
|
|
||||||
|
holder.status_bookmark.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (type != RetrieveFeedsAsyncTask.Type.CACHE_BOOKMARKS) {
|
||||||
|
status.setBookmarked(!status.isBookmarked());
|
||||||
|
try {
|
||||||
|
final SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
|
if (status.isBookmarked()) {
|
||||||
|
new StatusCacheDAO(context, db).insertStatus(StatusCacheDAO.BOOKMARK_CACHE, status);
|
||||||
|
Toasty.success(context, context.getString(R.string.status_bookmarked), Toast.LENGTH_LONG).show();
|
||||||
|
} else {
|
||||||
|
new StatusCacheDAO(context, db).remove(StatusCacheDAO.BOOKMARK_CACHE, status);
|
||||||
|
Toasty.success(context, context.getString(R.string.status_unbookmarked), Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
notifyStatusChanged(status);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
Toasty.error(context, context.getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
int position = 0;
|
||||||
|
for (Status statustmp : statuses) {
|
||||||
|
if (statustmp.getId().equals(status.getId())) {
|
||||||
|
statuses.remove(status);
|
||||||
|
statusListAdapter.notifyItemRemoved(position);
|
||||||
|
final SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
|
new StatusCacheDAO(context, db).remove(StatusCacheDAO.BOOKMARK_CACHE, statustmp);
|
||||||
|
Toasty.success(context, context.getString(R.string.status_unbookmarked), Toast.LENGTH_LONG).show();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
position++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
holder.status_bookmark.setOnLongClickListener(new View.OnLongClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onLongClick(View v) {
|
||||||
|
CrossActions.doCrossBookmark(context, status, statusListAdapter);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if( holder.cached_status != null) {
|
||||||
if (status.iscached()) {
|
if (status.iscached()) {
|
||||||
holder.cached_status.setVisibility(View.VISIBLE);
|
holder.cached_status.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
|
@ -955,6 +1008,33 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
new ManageCachedStatusAsyncTask(context, status.getId(), StatusListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new ManageCachedStatusAsyncTask(context, status.getId(), StatusListAdapter.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if( holder.fedilab_features != null) {
|
||||||
|
holder.fedilab_features.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
int style;
|
||||||
|
if (theme == Helper.THEME_DARK) {
|
||||||
|
style = R.style.DialogDark;
|
||||||
|
} else if (theme == Helper.THEME_BLACK) {
|
||||||
|
style = R.style.DialogBlack;
|
||||||
|
} else {
|
||||||
|
style = R.style.Dialog;
|
||||||
|
}
|
||||||
|
AlertDialog.Builder dialogBuilderFeatures = new AlertDialog.Builder(context, style);
|
||||||
|
LayoutInflater inflaterBoost = ((Activity) context).getLayoutInflater();
|
||||||
|
@SuppressLint("InflateParams") View dialogViewBoost = inflaterBoost.inflate(R.layout.custom_fedilab_features, null);
|
||||||
|
dialogBuilderFeatures.setView(dialogViewBoost);
|
||||||
|
AlertDialog dialogFeatures = dialogBuilderFeatures.create();
|
||||||
|
dialogFeatures.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
|
dialogFeatures.setCancelable(true);
|
||||||
|
dialogFeatures.show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Redraws top icons (boost/reply)
|
//Redraws top icons (boost/reply)
|
||||||
final float scale = context.getResources().getDisplayMetrics().density;
|
final float scale = context.getResources().getDisplayMetrics().density;
|
||||||
|
@ -1107,14 +1187,39 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( holder.status_translate != null) {
|
||||||
|
|
||||||
holder.status_translate.setOnClickListener(new View.OnClickListener() {
|
holder.status_translate.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
translateToot(status);
|
translateToot(status);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
boolean differentLanguage;
|
||||||
|
if (status.getReblog() == null)
|
||||||
|
differentLanguage = status.getLanguage() != null && !status.getLanguage().trim().equals(currentLocale);
|
||||||
|
else
|
||||||
|
differentLanguage = status.getReblog().getLanguage() != null && !status.getReblog().getLanguage().trim().equals(currentLocale);
|
||||||
|
|
||||||
|
if ((getItemViewType(viewHolder.getAdapterPosition()) != COMPACT_STATUS) && getItemViewType(viewHolder.getAdapterPosition()) != CONSOLE_STATUS && (trans_forced || (translator != Helper.TRANS_NONE && currentLocale != null && differentLanguage))) {
|
||||||
|
if (status.getSpoiler_text() != null && status.getSpoiler_text().length() > 0) {
|
||||||
|
if (status.isSpoilerShown() || expand_cw || getItemViewType(viewHolder.getAdapterPosition()) == FOCUSED_STATUS) {
|
||||||
|
holder.status_translate.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
holder.status_translate.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
} else if (status.getReblog() != null && status.getReblog().getSpoiler_text() != null && status.getReblog().getSpoiler_text().length() > 0) {
|
||||||
|
if (status.isSpoilerShown() || expand_cw || getItemViewType(viewHolder.getAdapterPosition()) == FOCUSED_STATUS) {
|
||||||
|
holder.status_translate.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
holder.status_translate.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
holder.status_translate.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
holder.status_translate.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( isConsoleMode){
|
if( isConsoleMode){
|
||||||
String starting = "";
|
String starting = "";
|
||||||
|
@ -1223,6 +1328,9 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
holder.status_content.setText(status.getContentSpan(), TextView.BufferType.SPANNABLE);
|
holder.status_content.setText(status.getContentSpan(), TextView.BufferType.SPANNABLE);
|
||||||
holder.status_spoiler.setText(status.getContentSpanCW(), TextView.BufferType.SPANNABLE);
|
holder.status_spoiler.setText(status.getContentSpanCW(), TextView.BufferType.SPANNABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
holder.status_content.setMovementMethod(LinkMovementMethod.getInstance());
|
holder.status_content.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
holder.status_spoiler.setMovementMethod(LinkMovementMethod.getInstance());
|
holder.status_spoiler.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
if (truncate_toots_size > 0) {
|
if (truncate_toots_size > 0) {
|
||||||
|
@ -1260,48 +1368,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
holder.status_bookmark.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
if (type != RetrieveFeedsAsyncTask.Type.CACHE_BOOKMARKS) {
|
|
||||||
status.setBookmarked(!status.isBookmarked());
|
|
||||||
try {
|
|
||||||
final SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
||||||
if (status.isBookmarked()) {
|
|
||||||
new StatusCacheDAO(context, db).insertStatus(StatusCacheDAO.BOOKMARK_CACHE, status);
|
|
||||||
Toasty.success(context, context.getString(R.string.status_bookmarked), Toast.LENGTH_LONG).show();
|
|
||||||
} else {
|
|
||||||
new StatusCacheDAO(context, db).remove(StatusCacheDAO.BOOKMARK_CACHE, status);
|
|
||||||
Toasty.success(context, context.getString(R.string.status_unbookmarked), Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
notifyStatusChanged(status);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
Toasty.error(context, context.getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
int position = 0;
|
|
||||||
for (Status statustmp : statuses) {
|
|
||||||
if (statustmp.getId().equals(status.getId())) {
|
|
||||||
statuses.remove(status);
|
|
||||||
statusListAdapter.notifyItemRemoved(position);
|
|
||||||
final SQLiteDatabase db = Sqlite.getInstance(context, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
||||||
new StatusCacheDAO(context, db).remove(StatusCacheDAO.BOOKMARK_CACHE, statustmp);
|
|
||||||
Toasty.success(context, context.getString(R.string.status_unbookmarked), Toast.LENGTH_LONG).show();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
position++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
holder.status_bookmark.setOnLongClickListener(new View.OnLongClickListener() {
|
|
||||||
@Override
|
|
||||||
public boolean onLongClick(View v) {
|
|
||||||
CrossActions.doCrossBookmark(context, status, statusListAdapter);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
holder.status_content_translated.setMovementMethod(LinkMovementMethod.getInstance());
|
holder.status_content_translated.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
//-------- END -> Manages translations
|
//-------- END -> Manages translations
|
||||||
|
|
||||||
|
@ -1513,31 +1580,8 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
||||||
Helper.loadGiF(context, status.getConversationProfilePicture().get(3), holder.conversation_pp_4);
|
Helper.loadGiF(context, status.getConversationProfilePicture().get(3), holder.conversation_pp_4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
boolean differentLanguage;
|
|
||||||
if (status.getReblog() == null)
|
|
||||||
differentLanguage = status.getLanguage() != null && !status.getLanguage().trim().equals(currentLocale);
|
|
||||||
else
|
|
||||||
differentLanguage = status.getReblog().getLanguage() != null && !status.getReblog().getLanguage().trim().equals(currentLocale);
|
|
||||||
|
|
||||||
if ((getItemViewType(viewHolder.getAdapterPosition()) != COMPACT_STATUS) && getItemViewType(viewHolder.getAdapterPosition()) != CONSOLE_STATUS && (trans_forced || (translator != Helper.TRANS_NONE && currentLocale != null && differentLanguage))) {
|
|
||||||
if (status.getSpoiler_text() != null && status.getSpoiler_text().length() > 0) {
|
|
||||||
if (status.isSpoilerShown() || expand_cw || getItemViewType(viewHolder.getAdapterPosition()) == FOCUSED_STATUS) {
|
|
||||||
holder.status_translate.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
holder.status_translate.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
} else if (status.getReblog() != null && status.getReblog().getSpoiler_text() != null && status.getReblog().getSpoiler_text().length() > 0) {
|
|
||||||
if (status.isSpoilerShown() || expand_cw || getItemViewType(viewHolder.getAdapterPosition()) == FOCUSED_STATUS) {
|
|
||||||
holder.status_translate.setVisibility(View.VISIBLE);
|
|
||||||
} else {
|
|
||||||
holder.status_translate.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
holder.status_translate.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
holder.status_translate.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
/*if (expand_cw)
|
/*if (expand_cw)
|
||||||
holder.status_spoiler_button.setVisibility(View.GONE);*/
|
holder.status_spoiler_button.setVisibility(View.GONE);*/
|
||||||
String contentCheck = "";
|
String contentCheck = "";
|
||||||
|
|
|
@ -2333,6 +2333,8 @@ public class Helper {
|
||||||
* @param hexaColor example 0xffff00
|
* @param hexaColor example 0xffff00
|
||||||
*/
|
*/
|
||||||
public static void changeDrawableColor(Context context, ImageView imageView, int hexaColor){
|
public static void changeDrawableColor(Context context, ImageView imageView, int hexaColor){
|
||||||
|
if( imageView == null)
|
||||||
|
return;
|
||||||
imageView.setColorFilter(context.getResources().getColor(hexaColor));
|
imageView.setColorFilter(context.getResources().getColor(hexaColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2342,6 +2344,8 @@ public class Helper {
|
||||||
* @param hexaColor example 0xffff00
|
* @param hexaColor example 0xffff00
|
||||||
*/
|
*/
|
||||||
public static void changeDrawableColor(Context context, ImageButton imageButton, int hexaColor){
|
public static void changeDrawableColor(Context context, ImageButton imageButton, int hexaColor){
|
||||||
|
if( imageButton == null)
|
||||||
|
return;
|
||||||
imageButton.setColorFilter(context.getResources().getColor(hexaColor));
|
imageButton.setColorFilter(context.getResources().getColor(hexaColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2351,6 +2355,8 @@ public class Helper {
|
||||||
* @param hexaColor example 0xffff00
|
* @param hexaColor example 0xffff00
|
||||||
*/
|
*/
|
||||||
public static void changeButtonTextColor(Context context, Button button, int hexaColor){
|
public static void changeButtonTextColor(Context context, Button button, int hexaColor){
|
||||||
|
if( button == null)
|
||||||
|
return;
|
||||||
button.setTextColor(context.getResources().getColor(hexaColor));
|
button.setTextColor(context.getResources().getColor(hexaColor));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
|
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M17,3L7,3c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3L19,5c0,-1.1 -0.9,-2 -2,-2zM17,18l-5,-2.18L7,18L7,5h10v13z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
|
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M17,3H7c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3V5c0,-1.1 -0.9,-2 -2,-2z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<vector android:height="108dp" android:viewportHeight="264.59"
|
||||||
|
android:viewportWidth="264.59" android:width="108dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m70.935,100.888a21.594,21.594 0,0 1,-9.236 9.193l50.704,50.902 12.224,-6.195zM137.811,168.025 L125.587,174.219 151.277,200.011a21.594,21.594 0,0 1,9.237 -9.194z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m196.484,121.029 l-28.704,14.547 2.116,13.538 32.478,-16.46a21.594,21.594 0,0 1,-5.89 -11.624zM151.118,144.021 L83.25,178.417a21.594,21.594 0,0 1,5.891 11.626l64.094,-32.483z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m129.266,59.296 l-32.749,63.932 9.669,9.706 34.674,-67.69a21.594,21.594 0,0 1,-11.594 -5.949zM87.999,139.86 L71.411,172.243a21.594,21.594 0,0 1,11.593 5.949l14.663,-28.626z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m61.427,110.223a21.594,21.594 0,0 1,-10.788 2.255,21.594 21.594,0 0,1 -2.085,-0.218l9.686,61.956a21.594,21.594 0,0 1,10.788 -2.255,21.594 21.594,0 0,1 2.083,0.218z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m89.166,190.348a21.594,21.594 0,0 1,0.226 4.35,21.594 21.594,0 0,1 -2.278,8.519l61.944,9.94a21.594,21.594 0,0 1,-0.227 -4.35,21.594 21.594,0 0,1 2.279,-8.519z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m202.561,132.881 l-28.592,55.817a21.594,21.594 0,0 1,11.595 5.95l28.592,-55.817a21.594,21.594 0,0 1,-11.595 -5.95z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m163.578,53.934a21.594,21.594 0,0 1,-9.237 9.194l44.279,44.449a21.594,21.594 45,0 1,9.237 -9.194z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m123.147,47.444 l-55.974,28.366a21.594,21.594 0,0 1,5.891 11.624l55.974,-28.368a21.594,21.594 0,0 1,-5.89 -11.623z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m154.235,63.178a21.594,21.594 135,0 1,-10.965 2.345,21.594 21.594,45 0,1 -1.89,-0.198l4.958,31.749 13.529,2.171zM149.22,115.531 L160.943,190.596a21.594,21.594 0,0 1,10.63 -2.176,21.594 21.594,0 0,1 2.259,0.248l-11.082,-70.964z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="m73.126,87.672a21.594,21.594 0,0 1,0.238 4.418,21.594 21.594,0 0,1 -2.244,8.457l31.774,5.103 6.245,-12.195zM127.583,96.417 L121.337,108.614 196.411,120.671a21.594,21.594 0,0 1,-0.218 -4.3,21.594 21.594,135 0,1 2.304,-8.564z" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="M144.457,43.962m-19.602,-1.068a19.631,19.631 48.118,1 1,39.203 2.135a19.631,19.631 48.118,1 1,-39.203 -2.135" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="M217.745,117.549m-19.602,-1.068a19.631,19.631 48.118,1 1,39.203 2.135a19.631,19.631 48.118,1 1,-39.203 -2.135" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="M170.398,209.982m-19.602,-1.068a19.631,19.631 48.118,1 1,39.203 2.135a19.631,19.631 48.118,1 1,-39.203 -2.135" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="M67.833,193.523m-19.602,-1.068a19.631,19.631 48.118,1 1,39.203 2.135a19.631,19.631 48.118,1 1,-39.203 -2.135" android:strokeWidth="3.7795"/>
|
||||||
|
<path android:fillColor="#000"
|
||||||
|
android:pathData="M51.81,90.919m-19.602,-1.068a19.631,19.631 48.118,1 1,39.203 2.135a19.631,19.631 48.118,1 1,-39.203 -2.135" android:strokeWidth="3.7795"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
|
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M16.24,7.76C15.07,6.59 13.54,6 12,6v6l-4.24,4.24c2.34,2.34 6.14,2.34 8.49,0 2.34,-2.34 2.34,-6.14 -0.01,-8.48zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
|
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#FF000000" android:pathData="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z"/>
|
||||||
|
</vector>
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_translate"
|
||||||
|
android:src="@drawable/ic_translate_white"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/translate"
|
||||||
|
android:contentDescription="@string/translate"/>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_bookmark"
|
||||||
|
android:src="@drawable/ic_bookmark_white"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/bookmark_add"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:contentDescription="@string/bookmark_add"/>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_timed_mute"
|
||||||
|
android:src="@drawable/ic_timelapse"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/timed_mute"
|
||||||
|
android:contentDescription="@string/timed_mute"/>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_schedule"
|
||||||
|
android:src="@drawable/ic_schedule"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/schedule_boost"
|
||||||
|
android:contentDescription="@string/schedule"/>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_mention"
|
||||||
|
android:src="@drawable/ic_schedule"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/mention_account"
|
||||||
|
android:contentDescription="@string/mention_account"/>
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/custom_feature_cache"
|
||||||
|
android:src="@drawable/ic_refresh"
|
||||||
|
android:layout_width="40dp"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_height="40dp"
|
||||||
|
android:layout_margin="10dp"
|
||||||
|
android:tooltipText="@string/action_cache"
|
||||||
|
android:contentDescription="@string/action_cache"/>
|
||||||
|
</LinearLayout>
|
|
@ -36,7 +36,7 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="60dp"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
>
|
>
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -137,6 +137,16 @@
|
||||||
android:background="@drawable/bot_background_round_corner"
|
android:background="@drawable/bot_background_round_corner"
|
||||||
android:id="@+id/status_account_bot"
|
android:id="@+id/status_account_bot"
|
||||||
android:layout_alignParentStart="true" />
|
android:layout_alignParentStart="true" />
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/new_element"
|
||||||
|
android:src="@drawable/ic_fiber_new"
|
||||||
|
android:layout_width="24dp"
|
||||||
|
android:layout_height="24dp"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:contentDescription="@string/new_toot"
|
||||||
|
/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/left_buttons"
|
android:id="@+id/left_buttons"
|
||||||
|
@ -144,57 +154,20 @@
|
||||||
android:layout_width="60dp"
|
android:layout_width="60dp"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/cached_status"
|
android:id="@+id/fedilab_features"
|
||||||
android:visibility="gone"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:layout_marginRight="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:src="@drawable/ic_cached_black"
|
|
||||||
android:contentDescription="@string/cached_status" />
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/new_element"
|
|
||||||
android:src="@drawable/ic_fiber_new"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:contentDescription="@string/new_toot" />
|
|
||||||
</LinearLayout>
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="5dp"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:orientation="horizontal">
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/status_translate"
|
|
||||||
android:padding="2dp"
|
android:padding="2dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:layout_marginTop="5dp"
|
||||||
android:layout_width="24dp"
|
android:layout_width="24dp"
|
||||||
android:layout_height="24dp"
|
android:layout_height="24dp"
|
||||||
android:layout_marginRight="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:background="#FF2b90d9"
|
android:background="#FF2b90d9"
|
||||||
android:src="@drawable/ic_translate"
|
android:src="@drawable/ic_logo_button"
|
||||||
android:contentDescription="@string/translate" />
|
android:contentDescription="@string/app_features" />
|
||||||
<ImageView
|
|
||||||
android:id="@+id/status_bookmark"
|
|
||||||
android:tint="@android:color/white"
|
|
||||||
android:padding="2dp"
|
|
||||||
android:layout_width="24dp"
|
|
||||||
android:layout_height="24dp"
|
|
||||||
android:layout_marginRight="3dp"
|
|
||||||
android:layout_marginEnd="3dp"
|
|
||||||
android:background="#FF2b90d9"
|
|
||||||
android:contentDescription="@string/bookmarks"
|
|
||||||
android:src="@drawable/ic_bookmark_border" />
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/status_remove"
|
android:id="@+id/status_remove"
|
||||||
|
|
|
@ -983,6 +983,9 @@
|
||||||
<string name="unmute_conversation">Unmute conversation</string>
|
<string name="unmute_conversation">Unmute conversation</string>
|
||||||
<string name="toast_unmute_conversation">The conversation is no longer muted!</string>
|
<string name="toast_unmute_conversation">The conversation is no longer muted!</string>
|
||||||
<string name="toast_mute_conversation">The conversation is muted</string>
|
<string name="toast_mute_conversation">The conversation is muted</string>
|
||||||
|
<string name="app_features">Open application features</string>
|
||||||
|
<string name="timed_mute">Timed mute</string>
|
||||||
|
<string name="mention_account">Mention the account</string>
|
||||||
<plurals name="number_of_vote">
|
<plurals name="number_of_vote">
|
||||||
<item quantity="one">%d vote</item>
|
<item quantity="one">%d vote</item>
|
||||||
<item quantity="other">%d votes</item>
|
<item quantity="other">%d votes</item>
|
||||||
|
|
Loading…
Reference in New Issue