From 4402f3d337acfd13a0768ef8ef68f88069d997a0 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Sun, 16 Sep 2018 18:54:12 +0200 Subject: [PATCH] update minSdkVersion to 21 (#843) * set minSdkVersion to 21 * use elevation instead of additional views for shadow * clean up code occurrences * remove drawable compat code * remove no longer needed resources * remove unneeded android:clipChildren="false" * Revert "remove no longer needed resources" This reverts commit 67a4d6f8d87b3f116b95d90dfb48f350d342f503. * remove no longer needed resources (this time the right ones) --- app/build.gradle | 3 +- .../keylesspalace/tusky/AccountActivity.kt | 8 +- .../keylesspalace/tusky/TuskyApplication.java | 3 - .../tusky/ViewMediaActivity.java | 5 +- .../tusky/ViewVideoActivity.java | 6 +- .../tusky/adapter/NotificationsAdapter.java | 3 - .../adapter/StatusDetailedViewHolder.java | 5 +- .../tusky/adapter/StatusViewHolder.java | 6 -- .../keylesspalace/tusky/util/OkHttpUtils.java | 100 +----------------- .../tusky/view/ComposeOptionsView.kt | 10 +- .../tusky/view/RoundedImageView.java | 7 +- .../main/res/drawable-hdpi/avatar_default.png | Bin 2040 -> 0 bytes .../main/res/drawable-mdpi/avatar_default.png | Bin 1506 -> 0 bytes .../main/res/drawable-v21/toggle_small.xml | 6 -- .../res/drawable-v21/toggle_small_light.xml | 6 -- .../res/drawable-xhdpi/avatar_default.png | Bin 3100 -> 0 bytes .../res/drawable-xxhdpi/avatar_default.png | Bin 4319 -> 0 bytes .../res/drawable-xxxhdpi/avatar_default.png | Bin 6672 -> 0 bytes .../avatar_default.xml | 0 app/src/main/res/drawable/toggle_small.xml | 25 +---- .../main/res/drawable/toggle_small_light.xml | 25 +---- app/src/main/res/layout/activity_about.xml | 2 - .../main/res/layout/activity_account_list.xml | 2 - .../main/res/layout/activity_edit_profile.xml | 2 - .../main/res/layout/activity_favourites.xml | 2 - app/src/main/res/layout/activity_license.xml | 2 - app/src/main/res/layout/activity_lists.xml | 10 +- app/src/main/res/layout/activity_main.xml | 16 +-- .../res/layout/activity_modal_timeline.xml | 2 - .../main/res/layout/activity_preferences.xml | 2 - app/src/main/res/layout/activity_report.xml | 2 - .../main/res/layout/activity_saved_toot.xml | 2 - app/src/main/res/layout/activity_search.xml | 2 - app/src/main/res/layout/activity_view_tag.xml | 2 - .../main/res/layout/activity_view_thread.xml | 2 - app/src/main/res/layout/item_follow.xml | 1 + app/src/main/res/layout/item_status.xml | 1 + app/src/main/res/layout/toolbar_basic.xml | 3 +- .../main/res/layout/toolbar_shadow_shim.xml | 9 -- app/src/main/res/values/dimens.xml | 2 + 40 files changed, 35 insertions(+), 249 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/avatar_default.png delete mode 100644 app/src/main/res/drawable-mdpi/avatar_default.png delete mode 100644 app/src/main/res/drawable-v21/toggle_small.xml delete mode 100644 app/src/main/res/drawable-v21/toggle_small_light.xml delete mode 100644 app/src/main/res/drawable-xhdpi/avatar_default.png delete mode 100644 app/src/main/res/drawable-xxhdpi/avatar_default.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/avatar_default.png rename app/src/main/res/{drawable-anydpi-v21 => drawable}/avatar_default.xml (100%) delete mode 100644 app/src/main/res/layout/toolbar_shadow_shim.xml diff --git a/app/build.gradle b/app/build.gradle index a7a46ca9..4ad8776b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,12 +17,11 @@ android { buildToolsVersion '27.0.3' defaultConfig { applicationId "com.keylesspalace.tusky" - minSdkVersion 19 + minSdkVersion 21 targetSdkVersion 27 versionCode 49 versionName "3.1" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - vectorDrawables.useSupportLibrary true } buildTypes { release { diff --git a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt index 56bc8ae0..6dac78b2 100644 --- a/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/AccountActivity.kt @@ -135,9 +135,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasSupportF val decorView = window.decorView decorView.systemUiVisibility = decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - window.statusBarColor = Color.TRANSPARENT - } + window.statusBarColor = Color.TRANSPARENT setContentView(R.layout.activity_account) @@ -218,9 +216,7 @@ class AccountActivity : BottomSheetActivity(), ActionButtonActivity, HasSupportF var transparencyPercent = Math.abs(verticalOffset) / titleVisibleHeight.toFloat() if (transparencyPercent > 1) transparencyPercent = 1f - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - window.statusBarColor = argbEvaluator.evaluate(transparencyPercent, statusBarColorTransparent, statusBarColorOpaque) as Int - } + window.statusBarColor = argbEvaluator.evaluate(transparencyPercent, statusBarColorTransparent, statusBarColorOpaque) as Int val evaluatedToolbarColor = argbEvaluator.evaluate(transparencyPercent, Color.TRANSPARENT, toolbarColor) as Int val evaluatedTabBarColor = argbEvaluator.evaluate(transparencyPercent, backgroundColor, toolbarColor) as Int diff --git a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java index 1e723114..105e098e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java +++ b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.java @@ -24,7 +24,6 @@ import android.content.Context; import android.preference.PreferenceManager; import android.support.annotation.NonNull; import android.support.text.emoji.EmojiCompat; -import android.support.v7.app.AppCompatDelegate; import com.evernote.android.job.JobManager; import com.jakewharton.picasso.OkHttp3Downloader; @@ -95,8 +94,6 @@ public class TuskyApplication extends Application implements HasActivityInjector JobManager.create(this).addJobCreator(notificationPullJobCreator); - //necessary for Android < API 21 - AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); } /** diff --git a/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.java b/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.java index ef9882b3..11cbcedb 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/ViewMediaActivity.java @@ -179,9 +179,8 @@ public final class ViewMediaActivity extends BaseActivity View decorView = getWindow().getDecorView(); int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE; decorView.setSystemUiVisibility(uiOptions); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - getWindow().setStatusBarColor(Color.BLACK); - } + getWindow().setStatusBarColor(Color.BLACK); + } @Override diff --git a/app/src/main/java/com/keylesspalace/tusky/ViewVideoActivity.java b/app/src/main/java/com/keylesspalace/tusky/ViewVideoActivity.java index 539995a5..1e182ef9 100644 --- a/app/src/main/java/com/keylesspalace/tusky/ViewVideoActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/ViewVideoActivity.java @@ -19,7 +19,6 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.graphics.Color; import android.media.MediaPlayer; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -85,9 +84,8 @@ public class ViewVideoActivity extends BaseActivity { } }); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - getWindow().setStatusBarColor(Color.BLACK); - } + getWindow().setStatusBarColor(Color.BLACK); + } @Override diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java b/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java index 3ceaf8b4..6cbd7bec 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/NotificationsAdapter.java @@ -257,9 +257,6 @@ public class NotificationsAdapter extends RecyclerView.Adapter { usernameView = itemView.findViewById(R.id.notification_username); displayNameView = itemView.findViewById(R.id.notification_display_name); avatar = itemView.findViewById(R.id.notification_avatar); - //workaround because Android < API 21 does not support setting drawableLeft from xml when it is a vector image - Drawable followIcon = ContextCompat.getDrawable(message.getContext(), R.drawable.ic_person_add_24dp); - message.setCompoundDrawablesWithIntrinsicBounds(followIcon, null, null, null); } void setMessage(Account account, BidiFormatter bidiFormatter) { diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java index d0ab5b8a..0cc40a7c 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusDetailedViewHolder.java @@ -3,7 +3,6 @@ package com.keylesspalace.tusky.adapter; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; -import android.os.Build; import android.support.annotation.Nullable; import android.text.SpannableStringBuilder; import android.text.Spanned; @@ -137,9 +136,7 @@ class StatusDetailedViewHolder extends StatusBaseViewHolder { cardInfo.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT; } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - cardView.setClipToOutline(true); - } + cardView.setClipToOutline(true); Picasso.with(cardImage.getContext()) .load(card.getImage()) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java index a1c94036..d4250e1f 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusViewHolder.java @@ -16,7 +16,6 @@ package com.keylesspalace.tusky.adapter; import android.content.Context; -import android.graphics.drawable.Drawable; import android.support.annotation.Nullable; import android.view.View; import android.widget.ImageView; @@ -24,7 +23,6 @@ import android.widget.TextView; import com.keylesspalace.tusky.R; import com.keylesspalace.tusky.interfaces.StatusActionListener; -import com.keylesspalace.tusky.util.ThemeUtils; import com.keylesspalace.tusky.viewdata.StatusViewData; import com.squareup.picasso.Picasso; @@ -38,10 +36,6 @@ public class StatusViewHolder extends StatusBaseViewHolder { super(itemView, useAbsoluteTime); avatarReblog = itemView.findViewById(R.id.status_avatar_reblog); rebloggedBar = itemView.findViewById(R.id.status_reblogged); - //workaround because Android < API 21 does not support setting drawableLeft from xml when it is a vector image - Drawable rebloggedIcon = ThemeUtils.getDrawable(rebloggedBar.getContext(), - R.attr.status_reblog_small_drawable, R.drawable.ic_reblog_dark_18dp); - rebloggedBar.setCompoundDrawablesWithIntrinsicBounds(rebloggedIcon, null, null, null); } @Override diff --git a/app/src/main/java/com/keylesspalace/tusky/util/OkHttpUtils.java b/app/src/main/java/com/keylesspalace/tusky/util/OkHttpUtils.java index 2a9500d9..91212c8f 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/OkHttpUtils.java +++ b/app/src/main/java/com/keylesspalace/tusky/util/OkHttpUtils.java @@ -24,11 +24,8 @@ import android.util.Log; import com.keylesspalace.tusky.BuildConfig; -import java.io.IOException; -import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Proxy; -import java.net.Socket; import java.security.KeyManagementException; import java.security.KeyStore; import java.security.KeyStoreException; @@ -39,7 +36,6 @@ import java.util.List; import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLContext; -import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; @@ -106,7 +102,7 @@ public class OkHttpUtils { builder.proxy(new Proxy(Proxy.Type.HTTP, address)); } - return enableHigherTlsOnPreLollipop(builder); + return builder; } /** @@ -168,98 +164,4 @@ public class OkHttpUtils { specList.add(spec); } - private static OkHttpClient.Builder enableHigherTlsOnPreLollipop(OkHttpClient.Builder builder) { - if (Build.VERSION.SDK_INT < 22) { - try { - TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance( - TrustManagerFactory.getDefaultAlgorithm()); - trustManagerFactory.init((KeyStore) null); - TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); - if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) { - throw new IllegalStateException("Unexpected default trust managers:" - + Arrays.toString(trustManagers)); - } - - X509TrustManager trustManager = (X509TrustManager) trustManagers[0]; - - SSLContext sslContext = SSLContext.getInstance("TLS"); - sslContext.init(null, new TrustManager[] { trustManager }, null); - SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); - - builder.sslSocketFactory(new SSLSocketFactoryCompat(sslSocketFactory), - trustManager); - } catch (NoSuchAlgorithmException|KeyStoreException|KeyManagementException e) { - Log.e(TAG, "Failed enabling TLS 1.1 & 1.2. " + e.getMessage()); - } - } - - return builder; - } - - private static class SSLSocketFactoryCompat extends SSLSocketFactory { - private static final String[] DESIRED_TLS_VERSIONS = { "TLSv1", "TLSv1.1", "TLSv1.2", - "TLSv1.3" }; - - final SSLSocketFactory delegate; - - SSLSocketFactoryCompat(SSLSocketFactory base) { - this.delegate = base; - } - - @Override - public String[] getDefaultCipherSuites() { - return delegate.getDefaultCipherSuites(); - } - - @Override - public String[] getSupportedCipherSuites() { - return delegate.getSupportedCipherSuites(); - } - - @Override - public Socket createSocket(Socket s, String host, int port, boolean autoClose) - throws IOException { - return patch(delegate.createSocket(s, host, port, autoClose)); - } - - @Override - public Socket createSocket(String host, int port) throws IOException { - return patch(delegate.createSocket(host, port)); - } - - @Override - public Socket createSocket(String host, int port, InetAddress localHost, int localPort) - throws IOException { - return patch(delegate.createSocket(host, port, localHost, localPort)); - } - - @Override - public Socket createSocket(InetAddress host, int port) throws IOException { - return patch(delegate.createSocket(host, port)); - } - - @Override - public Socket createSocket(InetAddress address, int port, InetAddress localAddress, - int localPort) throws IOException { - return patch(delegate.createSocket(address, port, localAddress, localPort)); - } - - @NonNull - private static String[] getMatches(String[] wanted, String[] have) { - List a = new ArrayList<>(Arrays.asList(wanted)); - List b = Arrays.asList(have); - a.retainAll(b); - return a.toArray(new String[0]); - } - - private Socket patch(Socket socket) { - if (socket instanceof SSLSocket) { - SSLSocket sslSocket = (SSLSocket) socket; - String[] protocols = getMatches(DESIRED_TLS_VERSIONS, - sslSocket.getSupportedProtocols()); - sslSocket.setEnabledProtocols(protocols); - } - return socket; - } - } } diff --git a/app/src/main/java/com/keylesspalace/tusky/view/ComposeOptionsView.kt b/app/src/main/java/com/keylesspalace/tusky/view/ComposeOptionsView.kt index 3202a5df..b7f2518a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/view/ComposeOptionsView.kt +++ b/app/src/main/java/com/keylesspalace/tusky/view/ComposeOptionsView.kt @@ -31,12 +31,10 @@ class ComposeOptionsView @JvmOverloads constructor(context: Context, attrs: Attr init { inflate(context, R.layout.view_compose_options, this) - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - publicRadioButton.setButtonDrawable(R.drawable.ic_public_24dp) - unlistedRadioButton.setButtonDrawable(R.drawable.ic_lock_open_24dp) - privateRadioButton.setButtonDrawable(R.drawable.ic_lock_outline_24dp) - directRadioButton.setButtonDrawable(R.drawable.ic_email_24dp) - } + publicRadioButton.setButtonDrawable(R.drawable.ic_public_24dp) + unlistedRadioButton.setButtonDrawable(R.drawable.ic_lock_open_24dp) + privateRadioButton.setButtonDrawable(R.drawable.ic_lock_outline_24dp) + directRadioButton.setButtonDrawable(R.drawable.ic_email_24dp) visibilityRadioGroup.setOnCheckedChangeListener { _, checkedId -> val visibility = when (checkedId) { diff --git a/app/src/main/java/com/keylesspalace/tusky/view/RoundedImageView.java b/app/src/main/java/com/keylesspalace/tusky/view/RoundedImageView.java index dc07d27d..b5f0733b 100644 --- a/app/src/main/java/com/keylesspalace/tusky/view/RoundedImageView.java +++ b/app/src/main/java/com/keylesspalace/tusky/view/RoundedImageView.java @@ -33,9 +33,7 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; -import android.os.Build; import android.support.annotation.DrawableRes; -import android.support.annotation.RequiresApi; import android.support.v7.widget.AppCompatImageView; import android.util.AttributeSet; import android.view.View; @@ -96,9 +94,7 @@ public class RoundedImageView extends AppCompatImageView { super.setScaleType(SCALE_TYPE); mReady = true; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - setOutlineProvider(new OutlineProvider()); - } + setOutlineProvider(new OutlineProvider()); if (mSetupPending) { setup(); @@ -317,7 +313,6 @@ public class RoundedImageView extends AppCompatImageView { mBitmapShader.setLocalMatrix(mShaderMatrix); } - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private class OutlineProvider extends ViewOutlineProvider { @Override diff --git a/app/src/main/res/drawable-hdpi/avatar_default.png b/app/src/main/res/drawable-hdpi/avatar_default.png deleted file mode 100644 index fe84271ad75c7cb6bf619e1fef1dda0996447d1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2040 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 IM6N<$f(oP9S^xk5 diff --git a/app/src/main/res/drawable-v21/toggle_small.xml b/app/src/main/res/drawable-v21/toggle_small.xml deleted file mode 100644 index bf55fff0..00000000 --- a/app/src/main/res/drawable-v21/toggle_small.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/toggle_small_light.xml b/app/src/main/res/drawable-v21/toggle_small_light.xml deleted file mode 100644 index 5f27f87a..00000000 --- a/app/src/main/res/drawable-v21/toggle_small_light.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/avatar_default.png b/app/src/main/res/drawable-xhdpi/avatar_default.png deleted file mode 100644 index 1baf777c2ef573159db81fa062526f77eaae4d54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3100 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 N002ovPDHLkV1f?PEfN3# diff --git a/app/src/main/res/drawable-xxxhdpi/avatar_default.png b/app/src/main/res/drawable-xxxhdpi/avatar_default.png deleted file mode 100644 index 59f56039d6194865ad04d97e320cb5f8ec466d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6672 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 - - - - - - - - - - - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/toggle_small_light.xml b/app/src/main/res/drawable/toggle_small_light.xml index 4e2c89fa..5f27f87a 100644 --- a/app/src/main/res/drawable/toggle_small_light.xml +++ b/app/src/main/res/drawable/toggle_small_light.xml @@ -1,21 +1,6 @@ - - - - - - - - - - - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml index d8e9b2b2..1e608f89 100644 --- a/app/src/main/res/layout/activity_about.xml +++ b/app/src/main/res/layout/activity_about.xml @@ -109,8 +109,6 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_account_list.xml b/app/src/main/res/layout/activity_account_list.xml index 1187604d..477e569b 100644 --- a/app/src/main/res/layout/activity_account_list.xml +++ b/app/src/main/res/layout/activity_account_list.xml @@ -15,6 +15,4 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_edit_profile.xml b/app/src/main/res/layout/activity_edit_profile.xml index b87b1e5a..3d401abd 100644 --- a/app/src/main/res/layout/activity_edit_profile.xml +++ b/app/src/main/res/layout/activity_edit_profile.xml @@ -173,8 +173,6 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_license.xml b/app/src/main/res/layout/activity_license.xml index bf9eb6ad..c1cf08a5 100644 --- a/app/src/main/res/layout/activity_license.xml +++ b/app/src/main/res/layout/activity_license.xml @@ -205,8 +205,6 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_lists.xml b/app/src/main/res/layout/activity_lists.xml index 4eaccefc..31ba374e 100644 --- a/app/src/main/res/layout/activity_lists.xml +++ b/app/src/main/res/layout/activity_lists.xml @@ -7,14 +7,6 @@ - - + app:layout_constraintTop_toBottomOf="parent" /> + android:layout_height="match_parent" + android:clipChildren="false"> @@ -32,6 +34,7 @@ android:layout_alignParentTop="true" android:layout_toEndOf="@id/drawer_toggle" android:background="?android:colorBackground" + android:elevation="@dimen/actionbar_elevation" app:tabGravity="fill" app:tabIndicatorHeight="3dp" app:tabMaxWidth="0dp" @@ -71,15 +74,6 @@ - - - + diff --git a/app/src/main/res/layout/activity_modal_timeline.xml b/app/src/main/res/layout/activity_modal_timeline.xml index 64274efc..4c1a5861 100644 --- a/app/src/main/res/layout/activity_modal_timeline.xml +++ b/app/src/main/res/layout/activity_modal_timeline.xml @@ -15,8 +15,6 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - diff --git a/app/src/main/res/layout/activity_preferences.xml b/app/src/main/res/layout/activity_preferences.xml index 65804ed6..2c579849 100644 --- a/app/src/main/res/layout/activity_preferences.xml +++ b/app/src/main/res/layout/activity_preferences.xml @@ -15,6 +15,4 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_report.xml b/app/src/main/res/layout/activity_report.xml index 0bf981b6..cdf6b933 100644 --- a/app/src/main/res/layout/activity_report.xml +++ b/app/src/main/res/layout/activity_report.xml @@ -37,6 +37,4 @@ android:hint="@string/report_comment_hint" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_saved_toot.xml b/app/src/main/res/layout/activity_saved_toot.xml index 05a04870..2b550259 100644 --- a/app/src/main/res/layout/activity_saved_toot.xml +++ b/app/src/main/res/layout/activity_saved_toot.xml @@ -29,6 +29,4 @@ - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_search.xml b/app/src/main/res/layout/activity_search.xml index c9f1a1ee..3068489e 100644 --- a/app/src/main/res/layout/activity_search.xml +++ b/app/src/main/res/layout/activity_search.xml @@ -29,8 +29,6 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_view_tag.xml b/app/src/main/res/layout/activity_view_tag.xml index 474264fa..abd0aaca 100644 --- a/app/src/main/res/layout/activity_view_tag.xml +++ b/app/src/main/res/layout/activity_view_tag.xml @@ -15,8 +15,6 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_view_thread.xml b/app/src/main/res/layout/activity_view_thread.xml index 65d3838b..7acbc8c5 100644 --- a/app/src/main/res/layout/activity_view_thread.xml +++ b/app/src/main/res/layout/activity_view_thread.xml @@ -15,8 +15,6 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_follow.xml b/app/src/main/res/layout/item_follow.xml index fd1c935f..899b6d37 100644 --- a/app/src/main/res/layout/item_follow.xml +++ b/app/src/main/res/layout/item_follow.xml @@ -18,6 +18,7 @@ android:layout_marginBottom="4dp" android:layout_marginTop="8dp" android:drawablePadding="10dp" + android:drawableStart="@drawable/ic_person_add_24dp" android:ellipsize="end" android:gravity="center_vertical" android:maxLines="1" diff --git a/app/src/main/res/layout/item_status.xml b/app/src/main/res/layout/item_status.xml index 25201188..61cd1ee0 100644 --- a/app/src/main/res/layout/item_status.xml +++ b/app/src/main/res/layout/item_status.xml @@ -13,6 +13,7 @@ - \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1f2321c5..94c6abb6 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -26,4 +26,6 @@ -1px -1px + 4dp +