Changed visual theme to a dark style. Also, set up things for a future switchable light/dark theme.

main
Vavassor 7 years ago
parent 3b52da66a2
commit 22a2a31afe
  1. 11
      app/src/main/java/com/keylesspalace/tusky/MainActivity.java
  2. 35
      app/src/main/java/com/keylesspalace/tusky/NotificationsFragment.java
  3. 2
      app/src/main/java/com/keylesspalace/tusky/PullNotificationService.java
  4. 2
      app/src/main/java/com/keylesspalace/tusky/SFragment.java
  5. 54
      app/src/main/java/com/keylesspalace/tusky/StatusButton.java
  6. 52
      app/src/main/java/com/keylesspalace/tusky/StatusViewHolder.java
  7. 4
      app/src/main/java/com/keylesspalace/tusky/TimelineFragment.java
  8. 15
      app/src/main/java/com/keylesspalace/tusky/TimelinePagerAdapter.java
  9. 7
      app/src/main/res/color/favourite_button_dark.xml
  10. 8
      app/src/main/res/color/reblog_button_dark.xml
  11. 20
      app/src/main/res/drawable/ic_extra.xml
  12. 7
      app/src/main/res/drawable/ic_favourite.xml
  13. 7
      app/src/main/res/drawable/ic_favourite_off.xml
  14. 7
      app/src/main/res/drawable/ic_favourite_on.xml
  15. 4
      app/src/main/res/drawable/ic_favourited.xml
  16. 2
      app/src/main/res/drawable/ic_followed.xml
  17. 14
      app/src/main/res/drawable/ic_media.xml
  18. 2
      app/src/main/res/drawable/ic_options.xml
  19. 7
      app/src/main/res/drawable/ic_reblog.xml
  20. 16
      app/src/main/res/drawable/ic_reblog_disabled.xml
  21. 11
      app/src/main/res/drawable/ic_reblog_off.xml
  22. 11
      app/src/main/res/drawable/ic_reblog_on.xml
  23. 4
      app/src/main/res/drawable/ic_reblogged.xml
  24. 12
      app/src/main/res/drawable/ic_reply.xml
  25. 2
      app/src/main/res/drawable/splash_background.xml
  26. 2
      app/src/main/res/drawable/status_divider.xml
  27. 2
      app/src/main/res/drawable/tab_page_margin.xml
  28. 5
      app/src/main/res/layout/activity_account.xml
  29. 4
      app/src/main/res/layout/activity_compose.xml
  30. 7
      app/src/main/res/layout/activity_login.xml
  31. 6
      app/src/main/res/layout/activity_main.xml
  32. 7
      app/src/main/res/layout/activity_view_tag.xml
  33. 6
      app/src/main/res/layout/activity_view_thread.xml
  34. 28
      app/src/main/res/layout/item_follow.xml
  35. 82
      app/src/main/res/layout/item_status.xml
  36. 32
      app/src/main/res/layout/item_status_notification.xml
  37. 15
      app/src/main/res/layout/tab_main.xml
  38. BIN
      app/src/main/res/mipmap-hdpi/ic_notify.png
  39. BIN
      app/src/main/res/mipmap-ldpi/ic_notify.png
  40. BIN
      app/src/main/res/mipmap-xhdpi/ic_notify.png
  41. 18
      app/src/main/res/values/attrs.xml
  42. 22
      app/src/main/res/values/colors.xml
  43. 10
      app/src/main/res/values/dimens.xml
  44. 45
      app/src/main/res/values/styles.xml

@ -64,7 +64,7 @@ public class MainActivity extends AppCompatActivity {
setSupportActionBar(toolbar);
// Setup the tabs and timeline pager.
TimelinePagerAdapter adapter = new TimelinePagerAdapter(getSupportFragmentManager());
TimelinePagerAdapter adapter = new TimelinePagerAdapter(getSupportFragmentManager(), this);
String[] pageTitles = {
getString(R.string.title_home),
getString(R.string.title_notifications),
@ -72,13 +72,18 @@ public class MainActivity extends AppCompatActivity {
};
adapter.setPageTitles(pageTitles);
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
int pageMargin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8,
getResources().getDisplayMetrics());
int pageMargin = getResources().getDimensionPixelSize(R.dimen.tab_page_margin);
viewPager.setPageMargin(pageMargin);
viewPager.setPageMarginDrawable(R.drawable.tab_page_margin);
viewPager.setAdapter(adapter);
TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setupWithViewPager(viewPager);
for (int i = 0; i < tabLayout.getTabCount(); i++) {
TabLayout.Tab tab = tabLayout.getTabAt(i);
if (tab != null) {
tab.setCustomView(adapter.getTabView(i));
}
}
// Retrieve notification update preference.
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

@ -19,6 +19,7 @@ import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.content.ContextCompat;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.DividerItemDecoration;
@ -47,7 +48,10 @@ public class NotificationsFragment extends SFragment implements
private SwipeRefreshLayout swipeRefreshLayout;
private RecyclerView recyclerView;
private LinearLayoutManager layoutManager;
private EndlessOnScrollListener scrollListener;
private NotificationsAdapter adapter;
private TabLayout.OnTabSelectedListener onTabSelectedListener;
public static NotificationsFragment newInstance() {
NotificationsFragment fragment = new NotificationsFragment();
@ -69,14 +73,14 @@ public class NotificationsFragment extends SFragment implements
// Setup the RecyclerView.
recyclerView = (RecyclerView) rootView.findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
LinearLayoutManager layoutManager = new LinearLayoutManager(context);
layoutManager = new LinearLayoutManager(context);
recyclerView.setLayoutManager(layoutManager);
DividerItemDecoration divider = new DividerItemDecoration(
context, layoutManager.getOrientation());
Drawable drawable = ContextCompat.getDrawable(context, R.drawable.status_divider);
divider.setDrawable(drawable);
recyclerView.addItemDecoration(divider);
EndlessOnScrollListener scrollListener = new EndlessOnScrollListener(layoutManager) {
scrollListener = new EndlessOnScrollListener(layoutManager) {
@Override
public void onLoadMore(int page, int totalItemsCount, RecyclerView view) {
NotificationsAdapter adapter = (NotificationsAdapter) view.getAdapter();
@ -92,11 +96,38 @@ public class NotificationsFragment extends SFragment implements
adapter = new NotificationsAdapter(this, this);
recyclerView.setAdapter(adapter);
TabLayout layout = (TabLayout) getActivity().findViewById(R.id.tab_layout);
onTabSelectedListener = new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {}
@Override
public void onTabUnselected(TabLayout.Tab tab) {}
@Override
public void onTabReselected(TabLayout.Tab tab) {
jumpToTop();
}
};
layout.addOnTabSelectedListener(onTabSelectedListener);
sendFetchNotificationsRequest();
return rootView;
}
@Override
public void onDestroyView() {
TabLayout tabLayout = (TabLayout) getActivity().findViewById(R.id.tab_layout);
tabLayout.removeOnTabSelectedListener(onTabSelectedListener);
super.onDestroyView();
}
private void jumpToTop() {
layoutManager.scrollToPosition(0);
scrollListener.reset();
}
private void sendFetchNotificationsRequest(final String fromId) {
String endpoint = getString(R.string.endpoint_notifications);
String url = "https://" + domain + endpoint;

@ -182,7 +182,7 @@ public class PullNotificationService extends IntentService {
mentions.get(0).displayName);
}
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_notify_mention)
.setSmallIcon(R.mipmap.ic_notify)
.setContentTitle(title);
if (icon != null) {
builder.setLargeIcon(icon);

@ -82,7 +82,7 @@ public class SFragment extends Fragment {
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, error.getMessage());
Log.e(TAG, "Request Failed: " + error.getMessage());
}
}) {
@Override

@ -0,0 +1,54 @@
/* Copyright 2017 Andrew Dawson
*
* This file is part of Tusky.
*
* Tusky is free software: you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* Tusky is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details.
*
* You should have received a copy of the GNU General Public License along with Tusky. If not, see
* <http://www.gnu.org/licenses/>. */
package com.keylesspalace.tusky;
import android.content.Context;
import android.content.res.TypedArray;
import android.support.v7.widget.AppCompatImageButton;
import android.util.AttributeSet;
public class StatusButton extends AppCompatImageButton {
private static final int[] STATE_MARKED = { R.attr.state_marked };
private boolean marked;
public StatusButton(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
TypedArray array = context.getTheme().obtainStyledAttributes(
attributeSet, R.styleable.StatusButton, 0, 0);
try {
marked = array.getBoolean(R.styleable.StatusButton_state_marked, false);
} finally {
array.recycle();
}
}
@Override
public int[] onCreateDrawableState(int extraSpace) {
if (marked) {
extraSpace += 1;
}
int[] drawableState = super.onCreateDrawableState(extraSpace);
if (marked) {
mergeDrawableStates(drawableState, STATE_MARKED);
}
return drawableState;
}
public void setMarked(boolean marked) {
this.marked = marked;
}
}

@ -42,11 +42,11 @@ public class StatusViewHolder extends RecyclerView.ViewHolder {
private TextView sinceCreated;
private TextView content;
private NetworkImageView avatar;
private ImageView boostedIcon;
private TextView boostedByUsername;
private View rebloggedBar;
private TextView rebloggedByUsername;
private ImageButton replyButton;
private ImageButton reblogButton;
private ImageButton favouriteButton;
private StatusButton reblogButton;
private StatusButton favouriteButton;
private ImageButton moreButton;
private boolean favourited;
private boolean reblogged;
@ -69,11 +69,11 @@ public class StatusViewHolder extends RecyclerView.ViewHolder {
avatar = (NetworkImageView) itemView.findViewById(R.id.status_avatar);
avatar.setDefaultImageResId(R.drawable.avatar_default);
avatar.setErrorImageResId(R.drawable.avatar_error);
boostedIcon = (ImageView) itemView.findViewById(R.id.status_boosted_icon);
boostedByUsername = (TextView) itemView.findViewById(R.id.status_boosted);
rebloggedBar = itemView.findViewById(R.id.status_reblogged_bar);
rebloggedByUsername = (TextView) itemView.findViewById(R.id.status_reblogged);
replyButton = (ImageButton) itemView.findViewById(R.id.status_reply);
reblogButton = (ImageButton) itemView.findViewById(R.id.status_reblog);
favouriteButton = (ImageButton) itemView.findViewById(R.id.status_favourite);
reblogButton = (StatusButton) itemView.findViewById(R.id.status_reblog);
favouriteButton = (StatusButton) itemView.findViewById(R.id.status_favourite);
moreButton = (ImageButton) itemView.findViewById(R.id.status_more);
reblogged = false;
favourited = false;
@ -175,40 +175,34 @@ public class StatusViewHolder extends RecyclerView.ViewHolder {
}
public void setRebloggedByUsername(String name) {
Context context = boostedByUsername.getContext();
Context context = rebloggedByUsername.getContext();
String format = context.getString(R.string.status_boosted_format);
String boostedText = String.format(format, name);
boostedByUsername.setText(boostedText);
boostedIcon.setVisibility(View.VISIBLE);
boostedByUsername.setVisibility(View.VISIBLE);
rebloggedByUsername.setText(boostedText);
rebloggedBar.setVisibility(View.VISIBLE);
}
public void hideRebloggedByUsername() {
boostedIcon.setVisibility(View.GONE);
boostedByUsername.setVisibility(View.GONE);
rebloggedBar.setVisibility(View.GONE);
}
public void setReblogged(boolean reblogged) {
this.reblogged = reblogged;
if (!reblogged) {
reblogButton.setImageResource(R.drawable.ic_reblog_off);
} else {
reblogButton.setImageResource(R.drawable.ic_reblog_on);
}
reblogButton.setMarked(reblogged);
}
public void disableReblogging() {
reblogButton.setEnabled(false);
reblogButton.setImageResource(R.drawable.ic_reblog_disabled);
public void setRebloggingEnabled(boolean enabled) {
reblogButton.setEnabled(enabled);
if (enabled) {
reblogButton.setImageResource(R.drawable.ic_reblog);
} else {
reblogButton.setImageResource(R.drawable.ic_reblog_disabled);
}
}
public void setFavourited(boolean favourited) {
this.favourited = favourited;
if (!favourited) {
favouriteButton.setImageResource(R.drawable.ic_favourite_off);
} else {
favouriteButton.setImageResource(R.drawable.ic_favourite_on);
}
favouriteButton.setMarked(favourited);
}
public void setMediaPreviews(final Status.MediaAttachment[] attachments,
@ -353,9 +347,7 @@ public class StatusViewHolder extends RecyclerView.ViewHolder {
hideSensitiveMediaWarning();
}
setupButtons(listener, position);
if (status.getVisibility() == Status.Visibility.PRIVATE) {
disableReblogging();
}
setRebloggingEnabled(status.getVisibility() != Status.Visibility.PRIVATE);
if (status.getSpoilerText().isEmpty()) {
hideSpoilerText();
} else {

@ -157,7 +157,7 @@ public class TimelineFragment extends SFragment implements
}
private void jumpToTop() {
layoutManager.scrollToPositionWithOffset(0, 0);
layoutManager.scrollToPosition(0);
scrollListener.reset();
}
@ -241,7 +241,7 @@ public class TimelineFragment extends SFragment implements
public void onFetchTimelineFailure(Exception exception) {
setFetchTimelineState(FooterViewHolder.State.RETRY);
swipeRefreshLayout.setRefreshing(false);
Log.e(TAG, exception.getMessage());
Log.e(TAG, "Fetch Failure: " + exception.getMessage());
}
private void setFetchTimelineState(FooterViewHolder.State state) {

@ -15,15 +15,21 @@
package com.keylesspalace.tusky;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
public class TimelinePagerAdapter extends FragmentPagerAdapter {
private String[] pageTitles;
private Context context;
public TimelinePagerAdapter(FragmentManager manager) {
public TimelinePagerAdapter(FragmentManager manager, Context context) {
super(manager);
this.context = context;
}
public void setPageTitles(String[] titles) {
@ -57,4 +63,11 @@ public class TimelinePagerAdapter extends FragmentPagerAdapter {
public CharSequence getPageTitle(int position) {
return pageTitles[position];
}
public View getTabView(int position) {
View view = LayoutInflater.from(context).inflate(R.layout.tab_main, null);
TextView title = (TextView) view.findViewById(R.id.title);
title.setText(pageTitles[position]);
return view;
}
}

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:color="#DFCF00" app:state_marked="true" />
<item android:color="#CFCFCF" />
</selector>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:color="#00DFAF" app:state_marked="true" />
<item android:color="#6F6F6F" android:state_enabled="false" />
<item android:color="#CFCFCF" />
</selector>

@ -1,15 +1,7 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#4d4d4d"
android:pathData="M177.2,354.3m-70.9,0a70.9,70.9 0,1 1,141.7 0a70.9,70.9 0,1 1,-141.7 0"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322826"/>
<path android:fillAlpha="1" android:fillColor="#4d4d4d"
android:pathData="M354.3,354.3m-70.9,0a70.9,70.9 0,1 1,141.7 0a70.9,70.9 0,1 1,-141.7 0"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322826"/>
<path android:fillAlpha="1" android:fillColor="#4d4d4d"
android:pathData="M531.5,354.3m-70.9,0a70.9,70.9 0,1 1,141.7 0a70.9,70.9 0,1 1,-141.7 0"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322826"/>
<vector android:height="24dp" android:viewportHeight="42.519684"
android:viewportWidth="42.519684" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M7.81,16.57C7.36,16.55 6.87,16.73 6.43,17.17C6.27,17.34 6.13,17.51 5.99,17.68C5.86,17.79 5.73,17.91 5.63,18.04C5.49,18.21 5.4,18.42 5.29,18.62C5.29,18.62 5.29,18.63 5.28,18.63C5.04,19 4.81,19.37 4.6,19.76C4.1,20.87 3.96,22.05 4.07,23.25C4.23,24.34 4.77,25.2 5.58,25.93C6.51,26.7 7.61,26.67 8.71,26.34C9.63,26.03 10.41,25.46 11.14,24.84C11.78,24.32 12.3,23.72 12.71,23.01C13.13,22.11 13.19,21.16 13.02,20.2C12.92,19.29 12.36,18.64 11.77,18.01C11.12,17.34 10.29,17.03 9.38,16.89C9.15,16.86 8.91,16.84 8.68,16.85C8.42,16.68 8.13,16.58 7.81,16.57zM22.36,16.9C21.94,16.96 21.57,17.11 21.23,17.31C20.89,17.38 20.54,17.55 20.21,17.88C19.3,18.75 18.74,19.9 18.28,21.05C17.88,22.29 17.95,23.52 18.34,24.73C18.78,25.83 19.59,26.53 20.69,26.93C21.86,27.26 22.88,26.85 23.82,26.15C24.66,25.41 25.2,24.46 25.56,23.41C25.93,22.47 26.06,21.49 26.01,20.48C25.99,19.54 25.59,18.73 25.04,17.99C24.3,17.13 23.45,16.9 22.36,16.9zM35.14,17.19C34.99,17.2 34.86,17.24 34.73,17.28C34.26,17.25 33.75,17.42 33.29,17.88C32.46,18.61 31.87,19.5 31.43,20.52C31.01,21.82 31.15,23.13 31.64,24.39C32.06,25.39 32.78,26.08 33.75,26.53C35.12,26.87 35.98,26.36 36.91,25.4C37.5,24.76 37.97,24.04 38.36,23.26C38.82,22.34 38.9,21.37 38.77,20.37C38.61,19.46 38.13,18.74 37.49,18.11C37.03,17.63 36.44,17.38 35.81,17.23C35.56,17.19 35.34,17.18 35.14,17.19zM8.68,21.7C8.7,21.72 8.72,21.73 8.74,21.75C8.63,21.69 8.89,22.06 8.69,21.73C8.68,21.72 8.68,21.71 8.68,21.7zM35.02,23.23C35.03,23.23 35.03,23.24 35.04,23.24C35.28,23.41 35.15,23.37 35.02,23.23z"
android:strokeAlpha="1" android:strokeColor="#00000000"
android:strokeLineCap="square" android:strokeLineJoin="miter" android:strokeWidth="0.30000001"/>
</vector>

@ -0,0 +1,7 @@
<vector android:height="24dp" android:viewportHeight="42.519684"
android:viewportWidth="42.519684" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M21.68,5.81C20.21,5.78 17.68,14.98 16.48,15.81C15.27,16.65 5.77,15.82 5.29,17.2C4.81,18.59 12.77,23.84 13.2,25.24C13.62,26.64 9.89,35.42 11.06,36.3C12.23,37.19 19.68,31.24 21.14,31.27C22.61,31.3 29.81,37.56 31.01,36.72C32.21,35.88 28.86,26.96 29.34,25.57C29.82,24.19 37.99,19.28 37.57,17.88C37.15,16.47 27.62,16.91 26.45,16.02C25.29,15.14 23.14,5.84 21.68,5.81z"
android:strokeAlpha="1" android:strokeColor="#00000000"
android:strokeLineCap="square" android:strokeLineJoin="miter" android:strokeWidth="0.30000001"/>
</vector>

@ -1,7 +0,0 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#4d4d4d"
android:pathData="M354.3,33.9 L458.4,244.9 691.2,278.7 522.8,442.9 562.5,674.7 354.3,565.3 146.1,674.7 185.9,442.9 17.5,278.7 250.2,244.9Z"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="33.33507919"/>
</vector>

@ -1,7 +0,0 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#feef00"
android:pathData="M354.3,33.9 L458.4,244.9 691.2,278.7 522.8,442.9 562.5,674.7 354.3,565.3 146.1,674.7 185.9,442.9 17.5,278.7 250.2,244.9Z"
android:strokeAlpha="1" android:strokeColor="#feef00"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="33.33507919"/>
</vector>

@ -1,7 +1,7 @@
<vector android:height="16dp" android:viewportHeight="566.92914"
android:viewportWidth="566.92914" android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#000000"
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M141.7,0C63.2,0 0,63.2 0,141.7L0,425.2C0,503.7 63.2,566.9 141.7,566.9L425.2,566.9C503.7,566.9 566.9,503.7 566.9,425.2L566.9,141.7C566.9,63.2 503.7,0 425.2,0L141.7,0zM283.6,24.8C287.6,24.9 291.2,27.1 293,30.7L363.4,173.4L520.9,196.3C529.6,197.6 533.1,208.3 526.8,214.4L412.8,325.5L439.7,482.3C441.2,491 432.1,497.6 424.3,493.5L283.5,419.5L142.6,493.5C134.8,497.6 125.7,491 127.2,482.3L154.1,325.5L40.2,214.4C33.8,208.3 37.3,197.6 46,196.3L203.5,173.4L273.9,30.7C275.7,27.1 279.5,24.8 283.6,24.8z"
android:strokeAlpha="1" android:strokeColor="#9d9d9d"
android:strokeAlpha="1" android:strokeColor="#00000000"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="0"/>
</vector>

@ -1,6 +1,6 @@
<vector android:height="16dp" android:viewportHeight="566.92914"
android:viewportWidth="566.92914" android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#000000"
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M141.7,0C63.2,0 0,63.2 0,141.7L0,425.2C0,503.7 63.2,566.9 141.7,566.9L425.2,566.9C503.7,566.9 566.9,503.7 566.9,425.2L566.9,141.7C566.9,63.2 503.7,0 425.2,0L141.7,0zM283.5,70.9A88.6,88.6 0,0 1,372 159.4A88.6,88.6 0,0 1,283.5 248A88.6,88.6 0,0 1,194.9 159.4A88.6,88.6 0,0 1,283.5 70.9zM194.9,311.3C194.9,311.3 229.1,336.6 283.5,336.6C338.4,336.6 370.5,311.3 370.5,311.3C496.1,407.5 460.6,478.3 460.6,478.3L106.3,478.3C106.3,478.3 70.9,407.5 194.9,311.3z"
android:strokeAlpha="1" android:strokeColor="#9d9d9d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="0"/>

@ -2,30 +2,30 @@
android:viewportWidth="1134.6519" android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="M52.7,262.2L1081.9,262.2A38.6,38.6 0,0 1,1120.5 300.8L1120.5,833.1A38.6,38.6 0,0 1,1081.9 871.7L52.7,871.7A38.6,38.6 0,0 1,14.2 833.1L14.2,300.8A38.6,38.6 0,0 1,52.7 262.2z"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="28.34645653"/>
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="m19.6,458.3c104.2,-9.7 76.2,61 365.2,125.3 61.9,13.8 50,40.6 96.2,58 105.8,39.9 376.7,15.8 639.8,33.5"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeWidth="28.34645653"/>
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="m1011.8,494c0,0 -130.5,-8 -158.9,-39.2 -142.4,-156.4 -193.3,0.9 -217,-9.7 -74.7,-33.3 -65,21.3 -199.8,103.2 -20.5,12.4 -8.8,16.9 39.1,18.1 143.3,3.8 -74.6,16.2 24.6,18.4l115.8,2.6"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeWidth="28.34645653"/>
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="m1121.2,496.7c0,0 -254.5,-33.7 -505.7,90.3 -98.7,48.8 350.1,80.7 350.1,80.7"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeWidth="28.34645653"/>
<path android:fillColor="#00000000"
android:pathData="m459,531.9 l-245.5,-0" android:strokeAlpha="1"
android:strokeColor="#000000" android:strokeLineCap="butt"
android:strokeColor="#ffffff" android:strokeLineCap="butt"
android:strokeLineJoin="miter" android:strokeWidth="28.34645653"/>
<path android:fillColor="#00000000"
android:pathData="M14.2,639C390.1,602 473.1,743.8 1118.5,752.1"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="miter" android:strokeWidth="35.43307114"/>
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="M277.5,425.5m-62.9,0a62.9,62.9 0,1 1,125.7 0a62.9,62.9 0,1 1,-125.7 0"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="35.43307114"/>
</vector>

@ -2,6 +2,6 @@
android:viewportWidth="1133.8583" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#00000000"
android:pathData="M704.8,566.9A137.9,137.9 0,0 1,566.9 704.8,137.9 137.9,0 0,1 429,566.9 137.9,137.9 0,0 1,566.9 429,137.9 137.9,0 0,1 704.8,566.9ZM566.9,1098.1c-184.7,0 -26,-116.8 -185.9,-209.2 -160,-92.4 -181.8,103.5 -274.1,-56.4 -92.4,-160 88.2,-80.9 88.2,-265.6 0,-184.7 -180.5,-105.6 -88.2,-265.6 92.4,-160 114.1,35.9 274.1,-56.4 160,-92.4 1.2,-209.2 185.9,-209.2 184.7,-0 26,116.8 185.9,209.2 160,92.4 181.8,-103.5 274.1,56.4 92.4,160 -88.2,80.9 -88.2,265.6 0,184.7 180.5,105.6 88.2,265.6C934.6,992.5 912.8,796.6 752.8,888.9 592.9,981.3 751.6,1098.1 566.9,1098.1Z"
android:strokeAlpha="1" android:strokeColor="#000000"
android:strokeAlpha="1" android:strokeColor="#ffffff"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="68.95068359"/>
</vector>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,11 +0,0 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#4d4d4d"
android:pathData="m567.9,602.4 l-141.7,-141.7 106.3,0 0,-248 -248,0 -70.9,-70.9 389.8,0 0,318.9 106.3,0z"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322835"/>
<path android:fillColor="#4d4d4d"
android:pathData="m141.1,141.7 l141.7,141.7 -106.3,0 0,248 248,0 70.9,70.9 -389.8,0 0,-318.9 -106.3,0z"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322826"/>
</vector>

@ -1,11 +0,0 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#008080"
android:pathData="m567.9,602.4 l-141.7,-141.7 106.3,0 0,-248 -248,0 -70.9,-70.9 389.8,0 0,318.9 106.3,0z"
android:strokeAlpha="1" android:strokeColor="#3c9b9e"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.173"/>
<path android:fillColor="#008080"
android:pathData="m141.1,141.7 l141.7,141.7 -106.3,0 0,248 248,0 70.9,70.9 -389.8,0 0,-318.9 -106.3,0z"
android:strokeAlpha="1" android:strokeColor="#3c9b9e"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="14.17322826"/>
</vector>

@ -1,7 +1,7 @@
<vector android:height="16dp" android:viewportHeight="566.92914"
android:viewportWidth="566.92914" android:width="16dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#000000"
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M141.7,0C63.2,0 0,63.2 0,141.7L0,425.2C0,503.7 63.2,566.9 141.7,566.9L425.2,566.9C503.7,566.9 566.9,503.7 566.9,425.2L566.9,141.7C566.9,63.2 503.7,0 425.2,0L141.7,0zM177.2,124L354.3,124C432.9,124 496.1,182.6 496.1,265.7L496.1,336.6L549.2,336.6L460.6,425.2L372,336.6L425.2,336.6L425.2,265.7C425.2,226.4 393.6,194.9 354.3,194.9L248,194.9L177.2,124zM106.3,141.7L194.9,230.3L141.7,230.3L141.7,301.2C141.7,340.5 173.3,372 212.6,372L318.9,372L389.8,442.9L212.6,442.9C134,442.9 70.9,384.3 70.9,301.2L70.9,230.3L17.7,230.3L106.3,141.7z"
android:strokeAlpha="1" android:strokeColor="#9d9d9d"
android:strokeAlpha="1" android:strokeColor="#00000000"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="0"/>
</vector>

@ -1,7 +1,7 @@
<vector android:height="24dp" android:viewportHeight="708.66144"
android:viewportWidth="708.66144" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#4d4d4d"
android:pathData="m40.4,348.7c200,-200 200,-200 200,-200l0,120 440,0 0,320 -160,0 0,-160 -280,0 0,120z"
android:strokeAlpha="1" android:strokeColor="#6d6d6d"
android:strokeLineCap="butt" android:strokeLineJoin="round" android:strokeWidth="21.25984252"/>
<vector android:height="24dp" android:viewportHeight="42.519684"
android:viewportWidth="42.519684" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillAlpha="1" android:fillColor="#ffffff"
android:pathData="M15.18,9.94C15.08,9.91 15.02,9.91 15.01,9.94C14.88,10.06 14.74,10.21 14.61,10.35C14.32,10.68 14.04,11 13.75,11.32C13.39,11.73 13.03,12.13 12.67,12.53C12.28,12.95 11.89,13.37 11.49,13.79C11.11,14.2 10.72,14.62 10.33,15.04C9.96,15.44 9.58,15.83 9.21,16.24C8.88,16.61 8.55,16.97 8.21,17.33C7.9,17.65 7.6,18 7.29,18.34C7.2,18.44 7.11,18.53 7.02,18.63C6.83,18.76 6.46,19.18 6.08,19.65C5.96,19.77 5.85,19.89 5.73,20.01C5.5,20.25 5.27,20.49 5.04,20.73C5,20.77 4.97,20.81 4.93,20.85C4.92,20.88 4.98,20.95 5.08,21.03C4.98,21.2 4.92,21.33 4.96,21.36C5.04,21.42 5.11,21.49 5.18,21.56C5.41,21.78 5.64,21.99 5.88,22.2C6.2,22.47 6.53,22.73 6.86,22.99C7.25,23.3 7.64,23.59 8.03,23.9C8.44,24.21 8.84,24.54 9.24,24.86C9.65,25.2 10.05,25.54 10.45,25.88C10.86,26.23 11.27,26.58 11.67,26.94C12.08,27.3 12.48,27.66 12.89,28.02C13.28,28.38 13.68,28.74 14.07,29.1C14.46,29.47 14.86,29.83 15.25,30.19C15.64,30.55 16.03,30.91 16.41,31.27C16.47,31.33 16.53,31.38 16.59,31.44C16.77,31.61 19.22,29.07 19.04,28.89C18.98,28.83 18.91,28.77 18.84,28.71C18.45,28.34 18.06,27.97 17.66,27.6C17.27,27.24 16.87,26.88 16.48,26.52C16.08,26.15 15.68,25.78 15.28,25.42C14.87,25.05 14.45,24.68 14.04,24.32C13.62,23.94 13.2,23.58 12.77,23.21C12.36,22.86 11.94,22.5 11.51,22.16C11.1,21.82 10.68,21.49 10.26,21.15C10.09,21.02 9.91,20.88 9.74,20.75C9.96,20.5 10.18,20.25 10.41,20.01C10.7,19.68 11.01,19.36 11.31,19.04C11.65,18.67 11.98,18.3 12.32,17.93C12.69,17.54 13.05,17.14 13.42,16.75C13.8,16.34 14.19,15.92 14.58,15.51C14.98,15.08 15.38,14.65 15.78,14.21C16.14,13.8 16.5,13.39 16.87,12.98C17.14,12.67 17.4,12.36 17.69,12.08C17.84,11.92 17.99,11.76 18.13,11.6C18.23,11.41 15.85,10.11 15.18,9.94zM14.04,18.52L14.04,18.53C13.79,18.49 13.35,22 13.6,22.03L14.05,22.03L14.82,22.03L15.82,22.03C16.22,22.03 16.62,22.03 17.03,22.04C17.5,22.06 17.97,22.07 18.44,22.08C18.93,22.1 19.43,22.11 19.92,22.12C20.4,22.13 20.88,22.15 21.37,22.17C21.85,22.19 22.34,22.23 22.82,22.26C23.3,22.29 23.77,22.33 24.25,22.37C24.7,22.41 25.15,22.46 25.6,22.52C26.03,22.58 26.47,22.65 26.89,22.73C27.3,22.82 27.71,22.92 28.11,23.03C28.48,23.13 28.85,23.26 29.21,23.4C29.54,23.54 29.85,23.71 30.16,23.89C30.48,24.08 30.78,24.3 31.08,24.53C31.37,24.76 31.63,25.02 31.88,25.29C32.12,25.55 32.33,25.84 32.52,26.14C32.72,26.48 32.88,26.84 33.02,27.21C33.18,27.66 33.31,28.13 33.42,28.59C33.54,29.13 33.64,29.67 33.73,30.21C33.82,30.81 33.89,31.42 33.96,32.02C34.03,32.67 34.1,33.32 34.15,33.97C34.16,34.08 34.16,34.19 34.17,34.3C34.22,34.55 37.69,33.87 37.64,33.62C37.63,33.51 37.63,33.4 37.62,33.29C37.56,32.6 37.48,31.92 37.4,31.24C37.32,30.58 37.24,29.92 37.13,29.27C37.03,28.66 36.91,28.04 36.76,27.44C36.61,26.85 36.44,26.27 36.21,25.71C35.99,25.16 35.75,24.63 35.43,24.13C35.13,23.68 34.81,23.24 34.44,22.84C34.08,22.47 33.72,22.11 33.31,21.79C32.92,21.49 32.53,21.19 32.1,20.94C31.67,20.67 31.22,20.42 30.75,20.22C30.29,20.04 29.83,19.85 29.36,19.72C28.89,19.58 28.41,19.46 27.92,19.35C27.43,19.25 26.94,19.16 26.44,19.08C25.95,19.01 25.45,18.95 24.95,18.9C24.46,18.86 23.96,18.81 23.47,18.79C22.96,18.75 22.45,18.71 21.95,18.69C21.44,18.66 20.93,18.63 20.43,18.62C19.94,18.61 19.45,18.6 18.96,18.58C18.49,18.57 18.02,18.56 17.55,18.54C17.12,18.53 16.69,18.51 16.26,18.52L15.26,18.52L14.5,18.52L14.04,18.52z"
android:strokeAlpha="1" android:strokeColor="#00000000"
android:strokeLineCap="square" android:strokeLineJoin="miter" android:strokeWidth="0.30000001"/>
</vector>

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/gray" />
<item android:drawable="@color/splash_background" />
<item>
<bitmap
android:src="@mipmap/ic_logo"

@ -2,5 +2,5 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:height="1dp" />
<solid android:color="#ff000000" />
<solid android:color="?attr/status_divider_color" />
</shape>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/gray" />
<solid android:color="?attr/tab_page_margin_color" />
</shape>

@ -23,7 +23,7 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="?attr/actionBarSize"
android:background="@color/account_header_background">
android:background="?attr/account_header_background_color">
<com.android.volley.toolbox.NetworkImageView
android:layout_width="match_parent"
@ -79,8 +79,7 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:background="@color/colorPrimary"
android:layout_gravity="top"
app:layout_collapseMode="pin" />

@ -15,7 +15,7 @@
android:layout_width="48dp"
android:layout_height="48dp"
app:srcCompat="@drawable/media_selector"
style="?android:attr/borderlessButtonStyle"
style="?attr/image_button_style"
android:id="@+id/compose_photo_pick"
android:layout_marginLeft="8dp" />
@ -24,7 +24,7 @@
android:layout_height="48dp"
android:id="@+id/compose_options"
app:srcCompat="@drawable/ic_options"
style="?android:attr/borderlessButtonStyle"
style="?attr/image_button_style"
android:layout_marginLeft="8dp" />
</LinearLayout>

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -11,10 +10,8 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:background="@color/colorPrimary"
android:elevation="4dp" />
<RelativeLayout
android:layout_width="match_parent"

@ -20,10 +20,8 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:background="@color/colorPrimary"
android:elevation="4dp" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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/activity_view_thread"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -16,10 +15,8 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:background="@color/colorPrimary"
android:elevation="4dp" />
<FrameLayout
android:id="@+id/fragment_container"

@ -16,10 +16,8 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
android:background="@color/colorPrimary"
android:elevation="4dp" />
<FrameLayout
android:id="@+id/fragment_container"

@ -4,28 +4,22 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="@dimen/status_avatar_column_width"
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notification_side_column">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_followed"
android:paddingTop="@dimen/notification_icon_vertical_padding"
android:paddingBottom="@dimen/notification_icon_vertical_padding"
android:paddingRight="@dimen/status_avatar_padding"
android:layout_alignParentRight="true" />
</RelativeLayout>
android:id="@+id/follow_icon"
app:srcCompat="@drawable/ic_followed"
android:paddingTop="@dimen/notification_icon_vertical_padding"
android:paddingBottom="@dimen/notification_icon_vertical_padding"
android:paddingRight="@dimen/status_avatar_padding"
android:paddingLeft="@dimen/follow_icon_left_padding"
android:tint="?attr/notification_icon_tint" />
<TextView
android:layout_toRightOf="@id/notification_side_column"
android:id="@+id/notification_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/notification_icon_vertical_padding"
android:layout_alignParentBottom="true" />
android:layout_centerVertical="true"
android:layout_toRightOf="@id/follow_icon" />
</RelativeLayout>

@ -5,38 +5,37 @@
android:layout_height="wrap_content"
android:id="@+id/status_container">
<TextView
android:layout_width="wrap_content"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/status_boosted"
android:id="@+id/status_reblogged_bar"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/status_boosted_icon"
android:layout_toEndOf="@+id/status_boosted_icon"
android:visibility="gone" />
android:layout_alignParentLeft="true"
android:layout_marginTop="@dimen/status_reblogged_bar_top_padding">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_reblogged"
android:id="@+id/status_boosted_icon"
android:adjustViewBounds="false"
android:cropToPadding="false"
android:layout_alignRight="@+id/status_avatar"
android:visibility="gone"
android:paddingRight="@dimen/status_avatar_padding"
android:paddingTop="@dimen/status_boost_icon_vertical_padding"
android:paddingBottom="@dimen/status_boost_icon_vertical_padding"
android:layout_alignParentTop="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_reblogged"
android:id="@+id/status_reblogged_icon"
android:paddingRight="@dimen/status_avatar_padding"
android:paddingLeft="@dimen/status_reblogged_icon_left_padding" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/status_reblogged"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/status_reblogged_icon" />
</RelativeLayout>
<com.android.volley.toolbox.NetworkImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="64dp"
android:layout_height="64dp"
android:scaleType="fitCenter"
android:id="@+id/status_avatar"
android:layout_alignParentRight="false"
android:layout_alignParentTop="false"
android:layout_alignParentLeft="false"
android:layout_alignParentStart="false"
android:layout_below="@+id/status_boosted"
android:layout_below="@+id/status_reblogged_bar"
android:padding="@dimen/status_avatar_padding" />
<com.keylesspalace.tusky.FlowLayout
@ -44,8 +43,9 @@
android:layout_toRightOf="@+id/status_avatar"
android:layout_toEndOf="@+id/status_avatar"
android:id="@+id/status_name_bar"
android:layout_below="@+id/status_boosted_icon"
android:layout_width="wrap_content">
android:layout_below="@+id/status_reblogged_bar"
android:layout_width="wrap_content"
android:paddingTop="@dimen/status_avatar_padding">
<TextView
android:id="@+id/status_display_name"
@ -58,13 +58,15 @@
android:id="@+id/status_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/status_username_left_margin" />
android:paddingLeft="@dimen/status_username_left_margin"
android:textColor="?attr/status_text_color_secondary" />
<TextView
android:id="@+id/status_since_created"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/status_since_created_left_margin" />
android:paddingLeft="@dimen/status_since_created_left_margin"
android:textColor="?attr/status_text_color_secondary" />
</com.keylesspalace.tusky.FlowLayout>
@ -92,7 +94,7 @@
android:id="@+id/status_content_warning_button"
android:textOn="@string/status_content_warning_show_less"
android:textOff="@string/status_content_warning_show_more"
android:background="@drawable/toggle_small"
android:background="?attr/content_warning_button"
android:padding="4dp" />
</com.keylesspalace.tusky.FlowLayout>
@ -196,7 +198,7 @@
<ImageButton
app:srcCompat="@drawable/ic_reply"
android:id="@+id/status_reply"
style="?android:attr/borderlessButtonStyle"
style="?attr/image_button_style"
android:layout_width="32dp"
android:layout_height="32dp" />
@ -205,10 +207,10 @@
android:layout_height="match_parent"
android:layout_weight="1" />
<ImageButton
app:srcCompat="@drawable/ic_reblog_off"
<com.keylesspalace.tusky.StatusButton
app:srcCompat="@drawable/ic_reblog"
android:id="@+id/status_reblog"
style="?android:attr/borderlessButtonStyle"
style="?attr/reblog_button_style"
android:layout_width="32dp"
android:layout_height="32dp" />
@ -217,12 +219,12 @@
android:layout_height="match_parent"
android:layout_weight="1" />
<ImageButton
<com.keylesspalace.tusky.StatusButton
android:layout_width="32dp"
android:layout_height="32dp"
app:srcCompat="@drawable/ic_favourite_off"
android:id="@+id/status_favourite"
style="?android:attr/borderlessButtonStyle" />
style="?attr/favourite_button_style"
app:srcCompat="@drawable/ic_favourite"
android:id="@+id/status_favourite" />
<Space
android:layout_width="0dp"
@ -232,7 +234,7 @@
<ImageButton
app:srcCompat="@drawable/ic_extra"
android:id="@+id/status_more"
style="?android:attr/borderlessButtonStyle"
style="?attr/image_button_style"
android:layout_width="32dp"
android:layout_height="32dp" />

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="@dimen/status_avatar_column_width"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/notification_side_column">
android:id="@+id/notification_top_bar">
<ImageView
android:layout_width="wrap_content"
@ -15,25 +15,25 @@
android:id="@+id/notification_icon"
android:paddingTop="@dimen/notification_icon_vertical_padding"
android:paddingBottom="@dimen/notification_icon_vertical_padding"
android:paddingLeft="@dimen/notification_icon_left_padding"
android:paddingRight="@dimen/status_avatar_padding"
android:layout_alignParentRight="true" />
android:tint="?attr/notification_icon_tint" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notification_text"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/notification_icon" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notification_text"
android:layout_toRightOf="@id/notification_side_column"
android:paddingBottom="@dimen/notification_icon_vertical_padding" />
</RelativeLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/notification_content"
android:layout_toRightOf="@id/notification_side_column"
android:layout_below="@id/notification_text"
android:textColor="@color/notification_content_faded"
android:paddingLeft="@dimen/notification_avatar_column_width"
android:textColor="?attr/notification_content"
android:paddingBottom="8dp" />
</RelativeLayout>
</LinearLayout>

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/title"
android:layout_centerInParent="true"
android:textAllCaps="true"
android:textStyle="normal|bold"
android:textSize="12sp" />
</RelativeLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 918 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -1,7 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="FlowLayout">
<attr name="paddingHorizontal" format="dimension" />
<attr name="paddingVertical" format="dimension" />
</declare-styleable>
<declare-styleable name="StatusButton">
<attr name="state_marked" format="boolean" />
</declare-styleable>
<!--Themed Attributes-->
<attr name="image_button_style" format="reference" />
<attr name="favourite_button_style" format="reference" />
<attr name="reblog_button_style" format="reference" />
<attr name="content_warning_button" format="reference" />
<attr name="notification_content" format="reference" />
<attr name="notification_icon_tint" format="reference|color" />
<attr name="status_text_color_secondary" format="reference|color" />
<attr name="status_divider_color" format="reference|color" />
<attr name="tab_page_margin_color" format="reference|color" />
<attr name="account_header_background_color" format="reference|color" />
</resources>

@ -1,13 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="gray">#4F4F4F</color>
<color name="colorPrimary">#44A673</color>
<color name="colorPrimaryDark">#2C996E</color>
<color name="colorAccent">#3F8A65</color>
<color name="colorBackground">#3C4945</color>
<color name="windowBackground">#191E1E</color>
<color name="splash_background">#4F4F4F</color>
<color name="button_dark">#3F8A65</color>
<color name="image_button_dark">#CFCFCF</color>
<color name="view_video_background">#000000</color>
<color name="sensitive_media_warning_background">#303030</color>
<color name="media_preview_unloaded_background">#DFDFDF</color>
<color name="compose_mention">#4F5F6F</color>
<color name="media_preview_unloaded_background">#2F2F2F</color>
<color name="compose_mention">#AFBFCF</color>
<color name="notification_content_faded">#9F9F9F</color>
<color name="account_header_background">#FFFFFF</color>
<color name="notification_icon_tint">#CFCFCF</color>
<color name="status_text_secondary_dark">#A4B4BC</color>
<color name="status_divider_dark">#000000</color>
<color name="tab_page_margin_dark">#4C534B</color>
<color name="account_header_background_dark">#000000</color>
</resources>

@ -3,9 +3,9 @@
<dimen name="activity_vertical_margin">0dp</dimen>
<dimen name="status_username_left_margin">4dp</dimen>
<dimen name="status_since_created_left_margin">4dp</dimen>
<dimen name="status_avatar_column_width">56dp</dimen>
<dimen name="status_avatar_padding">8dp</dimen>
<dimen name="status_boost_icon_vertical_padding">5dp</dimen>
<dimen name="status_reblogged_bar_top_padding">8dp</dimen>
<dimen name="status_reblogged_icon_left_padding">40dp</dimen>
<dimen name="status_media_preview_top_margin">4dp</dimen>
<dimen name="status_media_preview_height">96dp</dimen>
<dimen name="footer_text_padding">8dp</dimen>
@ -13,7 +13,11 @@
<dimen name="compose_media_preview_margin_bottom">16dp</dimen>
<dimen name="compose_media_preview_side">48dp</dimen>
<dimen name="compose_options_margin">8dp</dimen>
<dimen name="notification_icon_vertical_padding">4dp</dimen>
<dimen name="notification_icon_vertical_padding">8dp</dimen>
<dimen name="notification_icon_left_padding">40dp</dimen>
<dimen name="notification_avatar_column_width">64dp</dimen>
<dimen name="follow_icon_left_padding">40dp</dimen>
<dimen name="account_note_margin">8dp</dimen>
<dimen name="account_avatar_margin">8dp</dimen>
<dimen name="tab_page_margin">8dp</dimen>
</resources>

@ -1,10 +1,51 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Base application theme (Dark). -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="colorButtonNormal">@color/button_dark</item>
<item name="android:colorBackground">@color/colorBackground</item>
<item name="android:windowBackground">@color/windowBackground</item>
<item name="android:editTextColor">#FFFFFF</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:textColorSecondary">#FFFFFF</item>
<item name="android:textColorTertiary">#FFFFFF</item>
<item name="android:textColorPrimaryInverse">#000000</item>
<item name="android:textColorSecondaryInverse">#000000</item>
<item name="android:textColorTertiaryInverse">#000000</item>
<item name="bottomSheetDialogTheme">@style/AppTheme.BottomSheetDialog.Dark</item>
<item name="notification_content">@color/notification_content_faded</item>
<item name="notification_icon_tint">@color/notification_icon_tint</item>
<item name="image_button_style">@style/AppTheme.ImageButton.Dark</item>
<item name="favourite_button_style">@style/AppTheme.FavouriteButton.Dark</item>
<item name="reblog_button_style">@style/AppTheme.ReblogButton.Dark</item>
<item name="content_warning_button">@drawable/toggle_small</item>
<item name="status_text_color_secondary">@color/status_text_secondary_dark</item>
<item name="status_divider_color">@color/status_divider_dark</item>
<item name="tab_page_margin_color">@color/tab_page_margin_dark</item>
<item name="account_header_background_color">@color/account_header_background_dark</item>
</style>
<style name="AppTheme.ImageButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored">
<item name="android:tint">@color/image_button_dark</item>
</style>
<style name="AppTheme.FavouriteButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored">
<item name="android:tint">@color/favourite_button_dark</item>
</style>
<style name="AppTheme.ReblogButton.Dark" parent="@style/Widget.AppCompat.Button.Borderless.Colored">
<item name="android:tint">@color/reblog_button_dark</item>
</style>
<style name="AppTheme.BottomSheetDialog.Dark" parent="@style/Theme.Design.BottomSheetDialog">
<item name="colorAccent">@color/colorAccent</item>
<item name="android:colorBackground">@color/colorBackground</item>
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">

Loading…
Cancel
Save