From 76a9088a7bb95642d381c6cf06f841c2fd053ee6 Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Tue, 6 Dec 2016 13:15:22 +0800 Subject: [PATCH] code cleanup --- twidere/build.gradle | 4 +- .../remove_closed_source_dependencies.patch | 4 +- .../twidere/fragment/GoogleMapFragment.kt | 2 +- twidere/src/main/AndroidManifest.xml | 6 +- .../edu/tsinghua/hotmobi/model/UserEvent.java | 1 - .../library/twitter/UserStreamCallback.java | 3 +- .../java/org/mariotaku/twidere/Constants.java | 1 + .../activity/BrowserSignInActivity.java | 1 + ...boardShortcutPreferenceCompatActivity.java | 2 +- .../activity/UserListSelectorActivity.java | 4 +- .../DestroyUserListDialogFragment.java | 2 +- .../fragment/NetworkDiagnosticsFragment.java | 2 +- .../twidere/graphic/AlphaPatternDrawable.java | 3 +- .../twidere/graphic/EmptyDrawable.java | 3 +- .../twidere/graphic/PaddingDrawable.java | 5 +- .../twidere/graphic/TextDrawable.java | 3 +- .../graphic/WindowBackgroundDrawable.java | 3 +- .../graphic/like/LikeAnimationDrawable.java | 9 +- .../like/layer/AnimationLayerDrawable.java | 2 + .../like/layer/CircleLayerDrawable.java | 2 +- .../like/layer/ParticleLayerDrawable.java | 2 +- .../graphic/like/layer/ScalableDrawable.java | 9 +- .../like/layer/ShineLayerDrawable.java | 2 +- .../twidere/loader/BaseGroupsLoader.java | 2 +- .../twidere/loader/BaseUserListsLoader.java | 2 +- .../twidere/menu/FavoriteItemProvider.java | 7 +- .../twidere/model/StringLongPair.java | 1 - .../twidere/model/util/AccountUtils.java | 1 + .../model/util/ParcelableMediaUtils.java | 3 +- .../preference/CardPreviewPreference.java | 3 +- .../TranslationDestinationPreference.java | 4 +- .../twidere/provider/TwidereDataProvider.java | 1 - .../twidere/service/RefreshService.java | 4 +- .../task/AbsFriendshipOperationTask.java | 1 + .../twidere/task/GetDirectMessagesTask.java | 2 +- .../twidere/task/GetSavedSearchesTask.java | 2 +- .../mariotaku/twidere/task/GetTrendsTask.java | 2 +- .../UpdateProfileBackgroundImageTask.java | 4 +- .../task/UpdateProfileBannerImageTask.java | 4 +- .../twidere/util/AsyncTwitterWrapper.java | 46 ++++---- .../mariotaku/twidere/util/IntentUtils.java | 29 +---- .../twidere/util/MicroBlogAPIFactory.java | 12 +- .../twidere/util/TwidereStringUtils.java | 4 +- .../twidere/util/TwitterWrapper.java | 2 +- .../mariotaku/twidere/util/UriExtraUtils.java | 4 +- .../org/mariotaku/twidere/util/Utils.java | 2 +- .../util/imageloader/OvalBitmapDisplayer.java | 3 +- .../twidere/view/ForegroundColorView.java | 3 +- .../twidere/view/ForegroundImageView.java | 2 +- .../twidere/view/MediaPreviewImageView.java | 2 +- .../twidere/view/ShapedImageView.java | 4 +- .../twidere/view/TabPagerIndicator.java | 3 +- .../twidere/activity/ComposeActivity.kt | 111 ++++++++---------- .../twidere/activity/MediaViewerActivity.kt | 25 ++-- .../twidere/activity/SettingsActivity.kt | 35 +++--- .../twidere/adapter/AccountDetailsAdapter.kt | 1 - .../adapter/ParcelableActivitiesAdapter.kt | 2 +- .../adapter/ParcelableGroupsAdapter.kt | 2 +- .../adapter/ParcelableUserListsAdapter.kt | 2 +- .../twidere/adapter/ParcelableUsersAdapter.kt | 8 +- .../twidere/adapter/VariousItemsAdapter.kt | 2 +- .../adapter/iface/IActivitiesAdapter.kt | 2 +- .../twidere/adapter/iface/IGroupsAdapter.kt | 2 +- .../twidere/adapter/iface/IStatusesAdapter.kt | 2 +- .../adapter/iface/IUserListsAdapter.kt | 2 +- .../twidere/adapter/iface/IUsersAdapter.kt | 2 +- .../extension/CredentialsExtensions.kt | 2 +- .../model/AccountDetailsExtensions.kt | 2 +- .../twidere/fragment/AbsActivitiesFragment.kt | 4 +- .../twidere/fragment/AbsStatusesFragment.kt | 6 +- .../fragment/AbsToolbarTabPagesFragment.kt | 5 +- .../fragment/AccountsDashboardFragment.kt | 10 +- .../twidere/fragment/BaseFiltersFragment.kt | 4 +- .../twidere/fragment/BaseListFragment.kt | 3 +- .../fragment/BasePreferenceFragment.kt | 2 +- .../fragment/CursorActivitiesFragment.kt | 9 +- .../fragment/CursorStatusesFragment.kt | 8 +- .../CursorSupportUsersListFragment.kt | 2 +- .../twidere/fragment/CustomTabsFragment.kt | 1 - .../fragment/DirectMessagesFragment.kt | 8 +- .../twidere/fragment/DraftsFragment.kt | 4 +- .../twidere/fragment/GifPageFragment.kt | 2 +- .../twidere/fragment/GroupFragment.kt | 4 +- .../twidere/fragment/ImagePageFragment.kt | 2 +- .../fragment/MessagesConversationFragment.kt | 8 +- .../fragment/ParcelableGroupsFragment.kt | 2 +- .../fragment/ParcelableStatusesFragment.kt | 2 +- .../fragment/ParcelableUserListsFragment.kt | 2 +- .../fragment/ParcelableUsersFragment.kt | 4 +- .../twidere/fragment/SearchUsersFragment.kt | 2 +- .../twidere/fragment/StatusFragment.kt | 54 ++++----- .../twidere/fragment/UserFragment.kt | 19 ++- .../twidere/fragment/UserListFragment.kt | 4 +- .../fragment/UserMediaTimelineFragment.kt | 2 +- .../twidere/fragment/VideoPageFragment.kt | 13 +- .../loader/ParcelableStatusesLoader.kt | 5 +- .../twidere/loader/ParcelableUsersLoader.kt | 5 +- .../twidere/loader/SavedSearchesLoader.kt | 4 +- .../org/mariotaku/twidere/model/Response.kt | 2 +- .../mariotaku/twidere/model/SingleResponse.kt | 4 +- .../model/message/DatabaseReadyEvent.kt | 5 - .../tab/conf/StringExtraConfiguration.kt | 6 +- .../model/util/ParcelableActivityUtils.kt | 13 +- .../model/util/ParcelableStatusUtils.kt | 35 ++---- .../twidere/receiver/PowerStateReceiver.kt} | 29 +++-- .../twidere/service/StreamingService.kt | 21 ++-- .../twidere/task/CacheUsersStatusesTask.kt | 10 +- .../twidere/task/GetActivitiesAboutMeTask.kt | 4 +- .../mariotaku/twidere/task/SaveFileTask.kt | 2 +- .../twidere/task/twitter/UpdateStatusTask.kt | 2 +- .../twidere/util/ContentScrollHandler.kt | 3 +- .../twidere/util/EmojiSupportUtils.kt | 4 +- .../twidere/util/StatusLinkClickHandler.kt | 7 +- .../twidere/view/holder/StatusViewHolder.kt | 5 +- .../src/main/res/layout/activity_compose.xml | 9 +- .../layout/activity_request_permissions.xml | 8 +- .../src/main/res/layout/activity_sign_in.xml | 8 +- twidere/src/main/res/layout/activity_test.xml | 2 +- .../layout/activity_user_list_selector.xml | 2 +- .../adapter_item_status_count_label.xml | 8 +- .../adapter_item_status_interact_user.xml | 3 +- .../card_item_activity_summary_compact.xml | 2 - .../res/layout/card_item_group_compact.xml | 8 +- .../layout/dialog_auto_complete_textview.xml | 2 +- .../layout/dialog_compose_edit_alt_text.xml | 2 +- .../res/layout/dialog_edit_user_nickname.xml | 2 +- .../main/res/layout/dialog_host_mapping.xml | 4 +- .../res/layout/dialog_password_sign_in.xml | 8 +- .../layout/dialog_set_consumer_key_secret.xml | 8 +- .../layout/dialog_status_quote_retweet.xml | 1 - .../layout/dialog_user_list_detail_editor.xml | 9 +- .../layout/fragment_messages_conversation.xml | 1 - .../layout/fragment_user_profile_editor.xml | 13 +- .../layout/fragment_wizard_page_finished.xml | 4 +- .../layout/header_drawer_account_selector.xml | 2 + .../main/res/layout/header_status_common.xml | 12 +- twidere/src/main/res/layout/header_user.xml | 32 ++--- .../main/res/layout/header_wizard_page.xml | 4 +- .../src/main/res/layout/layout_api_editor.xml | 8 +- .../layout_api_editor_advanced_fields.xml | 8 +- .../layout/layout_extra_config_checkbox.xml | 4 +- .../res/layout/layout_extra_config_user.xml | 4 +- .../layout/layout_extra_config_user_list.xml | 4 +- .../src/main/res/layout/layout_tab_item.xml | 4 +- .../src/main/res/layout/list_action_item.xml | 8 +- .../src/main/res/layout/list_item_account.xml | 8 +- .../res/layout/list_item_auto_complete.xml | 8 +- .../main/res/layout/list_item_custom_tab.xml | 8 +- .../res/layout/list_item_dashboard_menu.xml | 4 +- .../src/main/res/layout/list_item_menu.xml | 4 +- .../res/layout/list_item_message_entry.xml | 8 +- .../list_item_preference_header_category.xml | 4 +- .../list_item_preference_header_item.xml | 4 +- .../src/main/res/layout/list_item_status.xml | 16 +-- .../layout/list_item_suggestion_search.xml | 4 +- .../res/layout/list_item_suggestion_user.xml | 8 +- .../main/res/layout/list_item_two_line.xml | 8 +- .../res/layout/list_item_two_line_checked.xml | 8 +- .../res/layout/list_item_two_line_small.xml | 8 +- .../src/main/res/layout/list_item_user.xml | 20 ++-- .../main/res/layout/list_item_user_list.xml | 16 +-- .../settings_layout_wizard_page_nav.xml | 5 +- 162 files changed, 519 insertions(+), 604 deletions(-) delete mode 100644 twidere/src/main/kotlin/org/mariotaku/twidere/model/message/DatabaseReadyEvent.kt rename twidere/src/main/{java/org/mariotaku/twidere/receiver/PowerStateReceiver.java => kotlin/org/mariotaku/twidere/receiver/PowerStateReceiver.kt} (56%) diff --git a/twidere/build.gradle b/twidere/build.gradle index be1050a91..67a6dd87f 100644 --- a/twidere/build.gradle +++ b/twidere/build.gradle @@ -102,8 +102,8 @@ dependencies { compile project(':twidere.component.nyan') // START Non-FOSS component - googleCompile 'com.google.android.gms:play-services-maps:10.0.0' - googleCompile 'com.google.android.gms:play-services-auth:10.0.0' + googleCompile 'com.google.android.gms:play-services-maps:10.0.1' + googleCompile 'com.google.android.gms:play-services-auth:10.0.1' googleCompile 'com.google.maps.android:android-maps-utils:0.4.4' googleCompile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { transitive = true } googleCompile ':YouTubeAndroidPlayerApi:1.2.2@jar' diff --git a/twidere/patches/remove_closed_source_dependencies.patch b/twidere/patches/remove_closed_source_dependencies.patch index 836c5dbc6..65390113f 100644 --- a/twidere/patches/remove_closed_source_dependencies.patch +++ b/twidere/patches/remove_closed_source_dependencies.patch @@ -52,8 +52,8 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP compile project(':twidere.component.nyan') // START Non-FOSS component -- googleCompile 'com.google.android.gms:play-services-maps:10.0.0' -- googleCompile 'com.google.android.gms:play-services-auth:10.0.0' +- googleCompile 'com.google.android.gms:play-services-maps:10.0.1' +- googleCompile 'com.google.android.gms:play-services-auth:10.0.1' - googleCompile 'com.google.maps.android:android-maps-utils:0.4.4' - googleCompile('com.crashlytics.sdk.android:crashlytics:2.6.5@aar') { transitive = true } - googleCompile ':YouTubeAndroidPlayerApi:1.2.2@jar' diff --git a/twidere/src/google/kotlin/org/mariotaku/twidere/fragment/GoogleMapFragment.kt b/twidere/src/google/kotlin/org/mariotaku/twidere/fragment/GoogleMapFragment.kt index cd76ecc40..3f97f101c 100644 --- a/twidere/src/google/kotlin/org/mariotaku/twidere/fragment/GoogleMapFragment.kt +++ b/twidere/src/google/kotlin/org/mariotaku/twidere/fragment/GoogleMapFragment.kt @@ -134,7 +134,7 @@ class GoogleMapFragment : SupportMapFragment(), Constants, IMapFragment, IBaseFr actionHelper.executeAfterFragmentResumed(action) } - protected fun fitSystemWindows(insets: Rect) { + private fun fitSystemWindows(insets: Rect) { val view = view view?.setPadding(insets.left, insets.top, insets.right, insets.bottom) } diff --git a/twidere/src/main/AndroidManifest.xml b/twidere/src/main/AndroidManifest.xml index 32ac6ec0a..206794b99 100644 --- a/twidere/src/main/AndroidManifest.xml +++ b/twidere/src/main/AndroidManifest.xml @@ -473,7 +473,8 @@ android:label="@string/label_background_operation_service"/> + android:exported="true" + tools:ignore="ExportedService"> @@ -484,7 +485,8 @@ + android:process=":sync" + tools:ignore="ExportedService"> diff --git a/twidere/src/main/java/edu/tsinghua/hotmobi/model/UserEvent.java b/twidere/src/main/java/edu/tsinghua/hotmobi/model/UserEvent.java index 76061aee9..1935f668c 100644 --- a/twidere/src/main/java/edu/tsinghua/hotmobi/model/UserEvent.java +++ b/twidere/src/main/java/edu/tsinghua/hotmobi/model/UserEvent.java @@ -12,7 +12,6 @@ import com.hannesdorfmann.parcelableplease.annotation.ParcelablePlease; import com.hannesdorfmann.parcelableplease.annotation.ParcelableThisPlease; import org.mariotaku.twidere.annotation.Referral; -import org.mariotaku.twidere.fragment.UserFragment; import org.mariotaku.twidere.model.ParcelableUser; /** diff --git a/twidere/src/main/java/org/mariotaku/microblog/library/twitter/UserStreamCallback.java b/twidere/src/main/java/org/mariotaku/microblog/library/twitter/UserStreamCallback.java index 060fea6b7..49aeb27f0 100644 --- a/twidere/src/main/java/org/mariotaku/microblog/library/twitter/UserStreamCallback.java +++ b/twidere/src/main/java/org/mariotaku/microblog/library/twitter/UserStreamCallback.java @@ -19,6 +19,7 @@ package org.mariotaku.microblog.library.twitter; +import android.support.annotation.NonNull; import android.text.TextUtils; import android.util.Log; @@ -169,7 +170,7 @@ public abstract class UserStreamCallback implements RawCallback { public abstract void onStatus(Status status) throws IOException; - public abstract void onDirectMessage(DirectMessage directMessage) throws IOException; + public abstract void onDirectMessage(@NonNull DirectMessage directMessage) throws IOException; public abstract void onBlock(User source, User blockedUser); diff --git a/twidere/src/main/java/org/mariotaku/twidere/Constants.java b/twidere/src/main/java/org/mariotaku/twidere/Constants.java index e268f2949..266a0e839 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/Constants.java +++ b/twidere/src/main/java/org/mariotaku/twidere/Constants.java @@ -105,5 +105,6 @@ public interface Constants extends TwidereConstants { @Preference(type = STRING, exportable = false) String KEY_DEVICE_SERIAL = "device_serial"; + @SuppressWarnings("SpellCheckingInspection") String GOOGLE_APIS_SERVER_CLIENT_ID = "223623398518-1p34hsndj7couh2c9c2f8909amh9euhf.apps.googleusercontent.com"; } diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/BrowserSignInActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/BrowserSignInActivity.java index c7d8fc13f..59f24e16b 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/BrowserSignInActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/BrowserSignInActivity.java @@ -256,6 +256,7 @@ public class BrowserSignInActivity extends BaseActivity { mActivity.setLoadProgressShown(false); if (result.hasData()) { final OAuthToken token = result.getData(); + assert token != null; mActivity.setRequestToken(token); final Endpoint endpoint = MicroBlogAPIFactory.getOAuthSignInEndpoint(mAPIUrlFormat, true); mActivity.loadUrl(endpoint.construct("/oauth/authorize", new String[]{"oauth_token", token.getOauthToken()})); diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/KeyboardShortcutPreferenceCompatActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/KeyboardShortcutPreferenceCompatActivity.java index 279942164..ee83fb7f1 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/KeyboardShortcutPreferenceCompatActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/KeyboardShortcutPreferenceCompatActivity.java @@ -86,7 +86,7 @@ public class KeyboardShortcutPreferenceCompatActivity extends BaseActivity imple } @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { + public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) { if (KeyEvent.isModifierKey(keyCode)) { mMetaState |= KeyboardShortcutsHandler.getMetaStateForKeyCode(keyCode); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java index e9921ed48..3aefe79e6 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/UserListSelectorActivity.java @@ -299,7 +299,7 @@ public class UserListSelectorActivity extends BaseActivity implements OnClickLis @Override protected SingleResponse> doInBackground(final Object... params) { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mActivity, mAccountKey, false); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mActivity, mAccountKey); if (twitter == null) return SingleResponse.Companion.getInstance(); try { final ResponseList lists = twitter.getUserLists(mScreenName, true); @@ -363,7 +363,7 @@ public class UserListSelectorActivity extends BaseActivity implements OnClickLis @Override protected SingleResponse> doInBackground(final Object... params) { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mActivity, mAccountKey, false); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mActivity, mAccountKey); if (twitter == null) return SingleResponse.Companion.getInstance(); try { final Paging paging = new Paging(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/fragment/DestroyUserListDialogFragment.java b/twidere/src/main/java/org/mariotaku/twidere/fragment/DestroyUserListDialogFragment.java index e33eef44a..a16a3d33c 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/fragment/DestroyUserListDialogFragment.java +++ b/twidere/src/main/java/org/mariotaku/twidere/fragment/DestroyUserListDialogFragment.java @@ -41,7 +41,7 @@ public class DestroyUserListDialogFragment extends BaseDialogFragment implements case DialogInterface.BUTTON_POSITIVE: final ParcelableUserList userList = getUserList(); final AsyncTwitterWrapper twitter = twitterWrapper; - if (userList == null || twitter == null) return; + if (userList == null) return; twitter.destroyUserListAsync(userList.account_key, userList.id); break; default: diff --git a/twidere/src/main/java/org/mariotaku/twidere/fragment/NetworkDiagnosticsFragment.java b/twidere/src/main/java/org/mariotaku/twidere/fragment/NetworkDiagnosticsFragment.java index 05838f87b..7ef6c12ed 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/fragment/NetworkDiagnosticsFragment.java +++ b/twidere/src/main/java/org/mariotaku/twidere/fragment/NetworkDiagnosticsFragment.java @@ -168,7 +168,7 @@ public class NetworkDiagnosticsFragment extends BaseSupportFragment { for (UserKey accountKey : DataStoreUtils.getAccountKeys(mContext)) { final AccountDetails details = AccountUtils.getAccountDetails(AccountManager.get(mContext), accountKey); - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, accountKey, false); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, accountKey); if (details == null || twitter == null) continue; publishProgress(new LogText("Testing connection for account " + accountKey)); publishProgress(LogText.LINEBREAK); diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/AlphaPatternDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/AlphaPatternDrawable.java index b0d7be56f..98fec7696 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/AlphaPatternDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/AlphaPatternDrawable.java @@ -22,6 +22,7 @@ import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; /** * This drawable that draws a simple white and gray chessboard pattern. It's @@ -45,7 +46,7 @@ public class AlphaPatternDrawable extends Drawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { boolean verticalStartWhite = true; for (int i = 0; i <= mNumRectanglesVertical; i++) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/EmptyDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/EmptyDrawable.java index e876e4760..9d9880295 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/EmptyDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/EmptyDrawable.java @@ -4,6 +4,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; public class EmptyDrawable extends Drawable { @@ -49,7 +50,7 @@ public class EmptyDrawable extends Drawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { } diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/PaddingDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/PaddingDrawable.java index 8d6f03584..a73fc6fab 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/PaddingDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/PaddingDrawable.java @@ -23,6 +23,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; public class PaddingDrawable extends Drawable { @@ -46,7 +47,7 @@ public class PaddingDrawable extends Drawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { mDrawable.draw(canvas); } @@ -76,7 +77,7 @@ public class PaddingDrawable extends Drawable { } @Override - public void setBounds(final Rect bounds) { + public void setBounds(@NonNull final Rect bounds) { final int left = bounds.left + mPaddingLeft; final int top = bounds.top + mPaddingTop; final int right = bounds.right - mPaddingRight; diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/TextDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/TextDrawable.java index bce24baa3..b7711517d 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/TextDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/TextDrawable.java @@ -35,6 +35,7 @@ import android.graphics.Path; import android.graphics.Rect; import android.graphics.Typeface; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; import android.text.Layout; import android.text.StaticLayout; import android.text.TextPaint; @@ -153,7 +154,7 @@ public class TextDrawable extends Drawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { if (mTextPath == null) { // Allow the layout to draw the text mTextLayout.draw(canvas); diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/WindowBackgroundDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/WindowBackgroundDrawable.java index 5b6335ddc..2a63ba3a7 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/WindowBackgroundDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/WindowBackgroundDrawable.java @@ -4,6 +4,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; /** * Created by mariotaku on 16/3/30. @@ -17,7 +18,7 @@ public class WindowBackgroundDrawable extends Drawable { } @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { canvas.drawColor(color); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/LikeAnimationDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/LikeAnimationDrawable.java index 6df5b915b..bf9a9626b 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/LikeAnimationDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/LikeAnimationDrawable.java @@ -203,7 +203,7 @@ public class LikeAnimationDrawable extends Drawable implements Animatable, Drawa } @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { mState.mCircleLayer.draw(canvas); mState.mParticleLayer.draw(canvas); mState.mIconDrawable.draw(canvas); @@ -231,17 +231,17 @@ public class LikeAnimationDrawable extends Drawable implements Animatable, Drawa } @Override - public void invalidateDrawable(Drawable who) { + public void invalidateDrawable(@NonNull Drawable who) { invalidateSelf(); } @Override - public void scheduleDrawable(Drawable who, Runnable what, long when) { + public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { scheduleSelf(what, when); } @Override - public void unscheduleDrawable(Drawable who, Runnable what) { + public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { unscheduleSelf(what); } @@ -255,6 +255,7 @@ public class LikeAnimationDrawable extends Drawable implements Animatable, Drawa return super.getChangingConfigurations() | mState.getChangingConfigurations(); } + @NonNull @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/AnimationLayerDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/AnimationLayerDrawable.java index d78a59ffb..5d298c5a9 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/AnimationLayerDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/AnimationLayerDrawable.java @@ -3,6 +3,7 @@ package org.mariotaku.twidere.graphic.like.layer; import android.graphics.ColorFilter; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; import org.mariotaku.twidere.graphic.like.LikeAnimationDrawable; @@ -61,6 +62,7 @@ public abstract class AnimationLayerDrawable extends Drawable implements LikeAni return mState; } + @NonNull @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/CircleLayerDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/CircleLayerDrawable.java index ee1a25647..bda4141ed 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/CircleLayerDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/CircleLayerDrawable.java @@ -26,7 +26,7 @@ public class CircleLayerDrawable extends AnimationLayerDrawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { final CircleState state = (CircleState) mState; final float progress = getProgress(); final Rect bounds = getBounds(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ParticleLayerDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ParticleLayerDrawable.java index 8439382b7..f37543936 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ParticleLayerDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ParticleLayerDrawable.java @@ -28,7 +28,7 @@ public class ParticleLayerDrawable extends AnimationLayerDrawable { } @Override - public void draw(final Canvas canvas) { + public void draw(@NonNull final Canvas canvas) { final ParticleLayerState state = (ParticleLayerState) mState; final float progress = getProgress(); if (progress < 0) return; diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ScalableDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ScalableDrawable.java index 85e57e4f0..782c20c38 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ScalableDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ScalableDrawable.java @@ -33,21 +33,21 @@ public class ScalableDrawable extends Drawable implements Drawable.Callback { // overrides from Drawable.Callback @Override - public void invalidateDrawable(Drawable who) { + public void invalidateDrawable(@NonNull Drawable who) { if (getCallback() != null) { getCallback().invalidateDrawable(this); } } @Override - public void scheduleDrawable(Drawable who, Runnable what, long when) { + public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { if (getCallback() != null) { getCallback().scheduleDrawable(this, what, when); } } @Override - public void unscheduleDrawable(Drawable who, Runnable what) { + public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { if (getCallback() != null) { getCallback().unscheduleDrawable(this, what); } @@ -55,7 +55,7 @@ public class ScalableDrawable extends Drawable implements Drawable.Callback { // overrides from Drawable @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { if (mState.getScale() <= 0) return; mState.mDrawable.draw(canvas); } @@ -126,6 +126,7 @@ public class ScalableDrawable extends Drawable implements Drawable.Callback { return mState.mDrawable.getIntrinsicHeight(); } + @NonNull @Override public Drawable mutate() { if (!mMutated && super.mutate() == this) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ShineLayerDrawable.java b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ShineLayerDrawable.java index f19120903..bd40a3f19 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ShineLayerDrawable.java +++ b/twidere/src/main/java/org/mariotaku/twidere/graphic/like/layer/ShineLayerDrawable.java @@ -20,7 +20,7 @@ public class ShineLayerDrawable extends AnimationLayerDrawable { } @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { final ShineLayerState state = (ShineLayerState) mState; final float progress = getProgress(); if (progress < 0) return; diff --git a/twidere/src/main/java/org/mariotaku/twidere/loader/BaseGroupsLoader.java b/twidere/src/main/java/org/mariotaku/twidere/loader/BaseGroupsLoader.java index 949b20266..c091c9cdc 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/loader/BaseGroupsLoader.java +++ b/twidere/src/main/java/org/mariotaku/twidere/loader/BaseGroupsLoader.java @@ -78,7 +78,7 @@ public abstract class BaseGroupsLoader extends AsyncTaskLoader loadInBackground() { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(getContext(), mAccountId, true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(getContext(), mAccountId); List listLoaded = null; try { listLoaded = getGroups(twitter); diff --git a/twidere/src/main/java/org/mariotaku/twidere/loader/BaseUserListsLoader.java b/twidere/src/main/java/org/mariotaku/twidere/loader/BaseUserListsLoader.java index 89966ed3c..ec2638d98 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/loader/BaseUserListsLoader.java +++ b/twidere/src/main/java/org/mariotaku/twidere/loader/BaseUserListsLoader.java @@ -78,7 +78,7 @@ public abstract class BaseUserListsLoader extends AsyncTaskLoader loadInBackground() { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(getContext(), mAccountId, true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(getContext(), mAccountId); List listLoaded = null; try { listLoaded = getUserLists(twitter); diff --git a/twidere/src/main/java/org/mariotaku/twidere/menu/FavoriteItemProvider.java b/twidere/src/main/java/org/mariotaku/twidere/menu/FavoriteItemProvider.java index 95667e471..4859fe59e 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/menu/FavoriteItemProvider.java +++ b/twidere/src/main/java/org/mariotaku/twidere/menu/FavoriteItemProvider.java @@ -3,6 +3,7 @@ package org.mariotaku.twidere.menu; import android.content.Context; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; import android.support.v4.content.ContextCompat; import android.support.v4.view.ActionProvider; import android.support.v4.view.MenuItemCompat; @@ -89,21 +90,21 @@ public class FavoriteItemProvider extends ActionProvider { } @Override - public void invalidateDrawable(Drawable who) { + public void invalidateDrawable(@NonNull Drawable who) { final View view = mViewRef.get(); if (view == null) return; view.invalidate(); } @Override - public void scheduleDrawable(Drawable who, Runnable what, long when) { + public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { final View view = mViewRef.get(); if (view == null) return; view.postDelayed(what, when); } @Override - public void unscheduleDrawable(Drawable who, Runnable what) { + public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { final View view = mViewRef.get(); if (view == null) return; view.post(what); diff --git a/twidere/src/main/java/org/mariotaku/twidere/model/StringLongPair.java b/twidere/src/main/java/org/mariotaku/twidere/model/StringLongPair.java index d97fdd91b..e6a46c893 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/model/StringLongPair.java +++ b/twidere/src/main/java/org/mariotaku/twidere/model/StringLongPair.java @@ -20,7 +20,6 @@ package org.mariotaku.twidere.model; import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import org.mariotaku.twidere.util.TwidereArrayUtils; diff --git a/twidere/src/main/java/org/mariotaku/twidere/model/util/AccountUtils.java b/twidere/src/main/java/org/mariotaku/twidere/model/util/AccountUtils.java index 4333ddf72..5096b3986 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/model/util/AccountUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/model/util/AccountUtils.java @@ -81,6 +81,7 @@ public class AccountUtils { details.activated = AccountExtensionsKt.isActivated(account, am); details.type = AccountExtensionsKt.getAccountType(account, am); details.credentials_type = AccountExtensionsKt.getCredentialsType(account, am); + details.extras = AccountExtensionsKt.getAccountExtras(account, am); details.user.color = details.color; return details; diff --git a/twidere/src/main/java/org/mariotaku/twidere/model/util/ParcelableMediaUtils.java b/twidere/src/main/java/org/mariotaku/twidere/model/util/ParcelableMediaUtils.java index 1fbecaa3c..d76b92840 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/model/util/ParcelableMediaUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/model/util/ParcelableMediaUtils.java @@ -259,8 +259,9 @@ public class ParcelableMediaUtils { case ParcelableMedia.Type.CARD_ANIMATED_GIF: case ParcelableMedia.Type.EXTERNAL_PLAYER: return true; + default: + return false; } - return false; } public static ParcelableMedia findByUrl(@Nullable ParcelableMedia[] media, @Nullable String url) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/preference/CardPreviewPreference.java b/twidere/src/main/java/org/mariotaku/twidere/preference/CardPreviewPreference.java index cba3dde81..ef04e0440 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/preference/CardPreviewPreference.java +++ b/twidere/src/main/java/org/mariotaku/twidere/preference/CardPreviewPreference.java @@ -22,6 +22,7 @@ package org.mariotaku.twidere.preference; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.support.annotation.NonNull; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceViewHolder; import android.support.v7.widget.RecyclerView; @@ -73,7 +74,7 @@ public class CardPreviewPreference extends Preference implements OnSharedPrefere mHolder.displaySampleStatus(); mHolder.setStatusClickListener(new IStatusViewHolder.SimpleStatusClickListener() { @Override - public void onItemActionClick(RecyclerView.ViewHolder holder, int id, int position) { + public void onItemActionClick(@NonNull RecyclerView.ViewHolder holder, int id, int position) { if (id == R.id.favorite) { ((StatusViewHolder) holder).playLikeAnimation(new LikeAnimationDrawable.OnLikedListener() { @Override diff --git a/twidere/src/main/java/org/mariotaku/twidere/preference/TranslationDestinationPreference.java b/twidere/src/main/java/org/mariotaku/twidere/preference/TranslationDestinationPreference.java index 9ed6ef43f..7c967f532 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/preference/TranslationDestinationPreference.java +++ b/twidere/src/main/java/org/mariotaku/twidere/preference/TranslationDestinationPreference.java @@ -25,6 +25,7 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.os.AsyncTask; +import android.support.annotation.NonNull; import android.support.v7.app.AlertDialog; import android.support.v7.preference.Preference; import android.text.TextUtils; @@ -125,8 +126,9 @@ public class TranslationDestinationPreference extends Preference implements OnCl return -1; } + @NonNull @Override - public View getView(final int position, final View convertView, final ViewGroup parent) { + public View getView(final int position, final View convertView, @NonNull final ViewGroup parent) { final View view = super.getView(position, convertView, parent); final TextView text = (TextView) (view instanceof TextView ? view : view.findViewById(android.R.id.text1)); final Language item = getItem(position); diff --git a/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java b/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java index 639fee88c..6dc292f96 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java +++ b/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java @@ -139,7 +139,6 @@ import org.mariotaku.twidere.util.UriExtraUtils; import org.mariotaku.twidere.util.UserColorNameManager; import org.mariotaku.twidere.util.Utils; import org.mariotaku.twidere.util.collection.CompactHashSet; -import org.mariotaku.twidere.util.content.TwidereSQLiteOpenHelper; import org.mariotaku.twidere.util.dagger.GeneralComponentHelper; import org.mariotaku.twidere.util.media.preview.PreviewMediaExtractor; import org.mariotaku.twidere.util.net.TwidereDns; diff --git a/twidere/src/main/java/org/mariotaku/twidere/service/RefreshService.java b/twidere/src/main/java/org/mariotaku/twidere/service/RefreshService.java index 28202739d..53b4bd999 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/service/RefreshService.java +++ b/twidere/src/main/java/org/mariotaku/twidere/service/RefreshService.java @@ -261,7 +261,7 @@ public class RefreshService extends Service implements Constants { screenFilter.addAction(Intent.ACTION_USER_PRESENT); registerReceiver(mPowerStateReceiver, batteryFilter); registerReceiver(mScreenStateReceiver, screenFilter); - PowerStateReceiver.setServiceReceiverStarted(true); + PowerStateReceiver.Companion.setServiceReceiverStarted(true); if (Utils.hasAutoRefreshAccounts(this)) { startAutoRefresh(); } else { @@ -271,7 +271,7 @@ public class RefreshService extends Service implements Constants { @Override public void onDestroy() { - PowerStateReceiver.setServiceReceiverStarted(false); + PowerStateReceiver.Companion.setServiceReceiverStarted(false); unregisterReceiver(mScreenStateReceiver); unregisterReceiver(mPowerStateReceiver); unregisterReceiver(mStateReceiver); diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/AbsFriendshipOperationTask.java b/twidere/src/main/java/org/mariotaku/twidere/task/AbsFriendshipOperationTask.java index efeabccbf..60809b869 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/AbsFriendshipOperationTask.java +++ b/twidere/src/main/java/org/mariotaku/twidere/task/AbsFriendshipOperationTask.java @@ -70,6 +70,7 @@ public abstract class AbsFriendshipOperationTask extends AbstractTask doLongOperation(UserKey[] params) { final ContentResolver cr = mContext.getContentResolver(); for (UserKey accountKey : params) { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, accountKey, true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, accountKey); if (twitter == null) continue; try { final ResponseList searches = twitter.getSavedSearches(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/GetTrendsTask.java b/twidere/src/main/java/org/mariotaku/twidere/task/GetTrendsTask.java index 48901e131..4c922d006 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/GetTrendsTask.java +++ b/twidere/src/main/java/org/mariotaku/twidere/task/GetTrendsTask.java @@ -46,7 +46,7 @@ public abstract class GetTrendsTask extends AbstractTask @Override public Object doLongOperation(final Object param) { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountId, false); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountId); if (twitter == null) return null; try { final List trends = getTrends(twitter); diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBackgroundImageTask.java b/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBackgroundImageTask.java index f19920be8..058cbf254 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBackgroundImageTask.java +++ b/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBackgroundImageTask.java @@ -69,8 +69,8 @@ public class UpdateProfileBackgroundImageTask extends AbstractTas @Override protected SingleResponse doLongOperation(final Object params) { try { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountKey, - true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountKey + ); TwitterWrapper.updateProfileBackgroundImage(mContext, twitter, mImageUri, mTile, mDeleteImage); // Wait for 5 seconds, see diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBannerImageTask.java b/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBannerImageTask.java index 89de1c925..333da4837 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBannerImageTask.java +++ b/twidere/src/main/java/org/mariotaku/twidere/task/UpdateProfileBannerImageTask.java @@ -65,8 +65,8 @@ public class UpdateProfileBannerImageTask extends AbstractTask doLongOperation(final Object params) { try { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountKey, - true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(mContext, mAccountKey + ); TwitterWrapper.updateProfileBannerImage(mContext, twitter, mImageUri, mDeleteImage); // Wait for 5 seconds, see // https://dev.twitter.com/docs/api/1.1/post/account/update_profile_image diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/AsyncTwitterWrapper.java b/twidere/src/main/java/org/mariotaku/twidere/util/AsyncTwitterWrapper.java index 51d7f4249..048a43446 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/AsyncTwitterWrapper.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/AsyncTwitterWrapper.java @@ -337,8 +337,8 @@ public class AsyncTwitterWrapper extends TwitterWrapper { return true; } - public void getLocalTrendsAsync(final UserKey accountId, final int woeid) { - final GetLocalTrendsTask task = new GetLocalTrendsTask(context, accountId, woeid); + public void getLocalTrendsAsync(final UserKey accountId, final int woeId) { + final GetLocalTrendsTask task = new GetLocalTrendsTask(context, accountId, woeId); TaskStarter.execute(task); } @@ -520,7 +520,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { TaskStarter.execute(new AbstractTask, Bus>() { @Override public SingleResponse doLongOperation(Object param) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, accountKey, true); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, accountKey); try { final Relationship relationship = microBlog.updateFriendship(userKey.getId(), update); if (!relationship.isSourceWantRetweetsFromTarget()) { @@ -563,7 +563,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override public Object doLongOperation(Object o) { for (UserKey accountId : accountKeys) { - MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, accountId, false); + MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, accountId); if (!Utils.isOfficialCredentials(context, accountId)) continue; try { microBlog.setActivitiesAboutMeUnread(cursor); @@ -615,7 +615,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doLongOperation(final Object params) { try { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(mContext, mAccountKey, true); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(mContext, mAccountKey); TwitterWrapper.updateProfileImage(mContext, microBlog, mImageUri, mDeleteImage); // Wait for 5 seconds, see // https://dev.twitter.com/rest/reference/post/account/update_profile_image @@ -651,9 +651,9 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @NonNull private final ParcelableUser[] mUsers; - public AddUserListMembersTask(@NonNull final UserKey accountKey, - final String listId, - @NonNull final ParcelableUser[] users) { + AddUserListMembersTask(@NonNull final UserKey accountKey, + final String listId, + @NonNull final ParcelableUser[] users) { super(context); this.mAccountKey = accountKey; this.mListId = listId; @@ -662,7 +662,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final UserKey[] userIds = new UserKey[mUsers.length]; @@ -880,7 +880,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected ListResponse doInBackground(final Object... params) { final List blockedUsers = new ArrayList<>(); - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog != null) { for (final String userId : mUserIds) { try { @@ -923,7 +923,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return null; try { return SingleResponse.Companion.getInstance(microBlog.createSavedSearch(mQuery)); @@ -965,7 +965,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final UserList userList = microBlog.createUserListSubscription(mListId); @@ -1009,8 +1009,8 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(getContext(), mAccountKey, - false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(getContext(), mAccountKey + ); if (microBlog == null || mListName == null) return SingleResponse.Companion.getInstance(); try { @@ -1056,7 +1056,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final UserKey[] userIds = new UserKey[users.length]; @@ -1128,7 +1128,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... args) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final DirectMessage message = microBlog.destroyDirectMessage(mMessageId); @@ -1190,7 +1190,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... args) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { microBlog.destroyDirectMessagesConversation(mAccountKey.getId(), mUserId); @@ -1339,7 +1339,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { return SingleResponse.Companion.getInstance(microBlog.destroySavedSearch(mSearchId)); @@ -1441,7 +1441,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(context, mAccountKey); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final UserList userList = microBlog.destroyUserListSubscription(mListId); @@ -1481,8 +1481,8 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(getContext(), mAccountKey, - false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(getContext(), mAccountKey + ); if (microBlog == null) return SingleResponse.Companion.getInstance(); try { final UserList userList = microBlog.destroyUserList(mListId); @@ -1700,7 +1700,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { @Override protected SingleResponse doInBackground(final Object... params) { - final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(mContext, mAccountKey, false); + final MicroBlog microBlog = MicroBlogAPIFactory.getInstance(mContext, mAccountKey); if (microBlog != null) { try { final UserList list = microBlog.updateUserList(listId, update); @@ -1726,7 +1726,7 @@ public class AsyncTwitterWrapper extends TwitterWrapper { } - public interface GetAccountKeysClosure { + interface GetAccountKeysClosure { UserKey[] getAccountKeys(); } } diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/IntentUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/IntentUtils.java index 052728ba4..890618340 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/IntentUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/IntentUtils.java @@ -27,7 +27,6 @@ import org.mariotaku.twidere.activity.MediaViewerActivity; import org.mariotaku.twidere.annotation.Referral; import org.mariotaku.twidere.constant.SharedPreferenceConstants; import org.mariotaku.twidere.fragment.SensitiveContentWarningDialogFragment; -import org.mariotaku.twidere.fragment.UserFragment; import org.mariotaku.twidere.model.ParcelableDirectMessage; import org.mariotaku.twidere.model.ParcelableGroup; import org.mariotaku.twidere.model.ParcelableMedia; @@ -80,11 +79,7 @@ public class IntentUtils implements Constants { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && newDocument) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); } - if (context instanceof Activity) { - ActivityCompat.startActivity((Activity) context, intent, activityOptions); - } else { - context.startActivity(intent); - } + ActivityCompat.startActivity(context, intent, activityOptions); } public static void openUserProfile(@NonNull final Context context, @Nullable final UserKey accountKey, @@ -96,11 +91,7 @@ public class IntentUtils implements Constants { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && newDocument) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); } - if (context instanceof Activity) { - ActivityCompat.startActivity((Activity) context, intent, activityOptions); - } else { - context.startActivity(intent); - } + ActivityCompat.startActivity(context, intent, activityOptions); } public static Intent userProfile(@Nullable UserKey accountKey, UserKey userKey, String screenName, @@ -266,11 +257,7 @@ public class IntentUtils implements Constants { if (newDocument && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); } - if (context instanceof Activity) { - ActivityCompat.startActivity((Activity) context, intent, options); - } else { - context.startActivity(intent); - } + ActivityCompat.startActivity(context, intent, options); } public static Uri getMediaViewerUri(@NonNull final String type, final String id, @@ -412,11 +399,7 @@ public class IntentUtils implements Constants { final Intent intent = new Intent(Intent.ACTION_VIEW, builder.build()); intent.setExtrasClassLoader(context.getClassLoader()); intent.putExtras(extras); - if (context instanceof Activity) { - ActivityCompat.startActivity((Activity) context, intent, activityOptions); - } else { - context.startActivity(intent); - } + ActivityCompat.startActivity(context, intent, activityOptions); } public static void openStatusFavoriters(@NonNull final Context context, @Nullable final UserKey accountKey, @@ -429,7 +412,7 @@ public class IntentUtils implements Constants { } builder.appendQueryParameter(QUERY_PARAM_STATUS_ID, statusId); final Intent intent = new Intent(Intent.ACTION_VIEW, builder.build()); - context.startActivity(intent); + ActivityCompat.startActivity(context, intent, null); } public static void openStatusRetweeters(@NonNull final Context context, @Nullable final UserKey accountKey, @@ -442,7 +425,7 @@ public class IntentUtils implements Constants { } builder.appendQueryParameter(QUERY_PARAM_STATUS_ID, statusId); final Intent intent = new Intent(Intent.ACTION_VIEW, builder.build()); - context.startActivity(intent); + ActivityCompat.startActivity(context, intent, null); } public static void openTweetSearch(@NonNull final Context context, @Nullable final UserKey accountKey, diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/MicroBlogAPIFactory.java b/twidere/src/main/java/org/mariotaku/twidere/util/MicroBlogAPIFactory.java index 5af09d5ee..a7c0ba8e7 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/MicroBlogAPIFactory.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/MicroBlogAPIFactory.java @@ -82,22 +82,14 @@ public class MicroBlogAPIFactory implements TwidereConstants { @WorkerThread public static MicroBlog getDefaultTwitterInstance(final Context context, final boolean includeEntities) { if (context == null) return null; - return getDefaultTwitterInstance(context, includeEntities, true); - } - - @WorkerThread - public static MicroBlog getDefaultTwitterInstance(final Context context, final boolean includeEntities, - final boolean includeRetweets) { - if (context == null) return null; final UserKey accountKey = Utils.getDefaultAccountKey(context); if (accountKey == null) return null; - return getInstance(context, accountKey, includeEntities, includeRetweets); + return getInstance(context, accountKey, includeEntities, true); } @WorkerThread public static MicroBlog getInstance(@NonNull final Context context, - @NonNull final UserKey accountKey, - final boolean includeEntities) { + @NonNull final UserKey accountKey) { AccountManager am = AccountManager.get(context); Account account = AccountUtils.findByAccountKey(am, accountKey); if (account == null) return null; diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/TwidereStringUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/TwidereStringUtils.java index f67fa1184..c9f619184 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/TwidereStringUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/TwidereStringUtils.java @@ -65,12 +65,12 @@ public class TwidereStringUtils { private static class ZeroWidthSpan extends ReplacementSpan { @Override - public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) { + public int getSize(@NonNull Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) { return 0; } @Override - public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, Paint paint) { + public void draw(@NonNull Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, @NonNull Paint paint) { } } diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java b/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java index d9184fcd9..5cf497ac9 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java @@ -71,7 +71,7 @@ public class TwitterWrapper implements Constants { public static SingleResponse deleteProfileBannerImage(final Context context, final UserKey accountKey) { - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(context, accountKey, false); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(context, accountKey); if (twitter == null) return SingleResponse.Companion.getInstance(false); try { twitter.removeProfileBannerImage(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/UriExtraUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/UriExtraUtils.java index b1eaee999..6bfe33fb8 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/UriExtraUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/UriExtraUtils.java @@ -20,6 +20,7 @@ package org.mariotaku.twidere.util; import android.net.Uri; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import java.util.List; @@ -33,8 +34,7 @@ public class UriExtraUtils { private UriExtraUtils() { } - @Nullable - public static void addExtra(Uri.Builder builder, String key, Object value) { + public static void addExtra(@NonNull Uri.Builder builder, String key, Object value) { builder.appendQueryParameter(QUERY_PARAM_EXTRA, key + "=" + String.valueOf(value)); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java b/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java index 368391ad0..c278053a1 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java @@ -439,7 +439,7 @@ public final class Utils implements Constants { throws MicroBlogException { final ParcelableStatus cached = findStatusInDatabases(context, accountKey, statusId); if (cached != null) return cached; - final MicroBlog twitter = MicroBlogAPIFactory.getInstance(context, accountKey, true); + final MicroBlog twitter = MicroBlogAPIFactory.getInstance(context, accountKey); if (twitter == null) throw new MicroBlogException("Account does not exist"); final Status result = twitter.showStatus(statusId); final String where = Expression.and(Expression.equalsArgs(Statuses.ACCOUNT_KEY), diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/imageloader/OvalBitmapDisplayer.java b/twidere/src/main/java/org/mariotaku/twidere/util/imageloader/OvalBitmapDisplayer.java index 452d30246..0479068c0 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/imageloader/OvalBitmapDisplayer.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/imageloader/OvalBitmapDisplayer.java @@ -26,6 +26,7 @@ import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Shader; import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; import com.nostra13.universalimageloader.core.assist.LoadedFrom; import com.nostra13.universalimageloader.core.display.BitmapDisplayer; @@ -102,7 +103,7 @@ public class OvalBitmapDisplayer implements BitmapDisplayer { } @Override - public void draw(Canvas canvas) { + public void draw(@NonNull Canvas canvas) { canvas.drawOval(mRect, paint); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundColorView.java b/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundColorView.java index 0328fcfcf..d0454dc51 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundColorView.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundColorView.java @@ -28,6 +28,7 @@ import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; +import android.support.annotation.NonNull; import android.util.AttributeSet; import android.view.View; @@ -145,7 +146,7 @@ public class ForegroundColorView extends View implements IForegroundView { } @Override - protected boolean verifyDrawable(final Drawable who) { + protected boolean verifyDrawable(@NonNull final Drawable who) { return super.verifyDrawable(who) || (mForegroundViewHelper != null && mForegroundViewHelper.verifyDrawable(who)); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundImageView.java b/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundImageView.java index e9d7d417a..5018903d0 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundImageView.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/ForegroundImageView.java @@ -103,7 +103,7 @@ public class ForegroundImageView extends ImageView implements IForegroundView { } @Override - protected boolean verifyDrawable(final Drawable who) { + protected boolean verifyDrawable(@NonNull final Drawable who) { return super.verifyDrawable(who) || (mForegroundViewHelper != null && mForegroundViewHelper.verifyDrawable(who)); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/MediaPreviewImageView.java b/twidere/src/main/java/org/mariotaku/twidere/view/MediaPreviewImageView.java index 7f47bf5dd..dd68edaa5 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/MediaPreviewImageView.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/MediaPreviewImageView.java @@ -73,7 +73,7 @@ public class MediaPreviewImageView extends ImageView { } @Override - protected boolean verifyDrawable(final Drawable who) { + protected boolean verifyDrawable(@NonNull final Drawable who) { return super.verifyDrawable(who) || (mForegroundViewHelper != null && mForegroundViewHelper.verifyDrawable(who)); } diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/ShapedImageView.java b/twidere/src/main/java/org/mariotaku/twidere/view/ShapedImageView.java index 9f9a9e309..4f2191b59 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/ShapedImageView.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/ShapedImageView.java @@ -302,9 +302,7 @@ public class ShapedImageView extends ImageView { BitmapDrawable bitmapDrawable = null; // support state list drawable by getting the current state if (drawable instanceof StateListDrawable) { - if (drawable.getCurrent() != null) { - bitmapDrawable = (BitmapDrawable) drawable.getCurrent(); - } + bitmapDrawable = (BitmapDrawable) drawable.getCurrent(); } else if (drawable instanceof BitmapDrawable) { bitmapDrawable = (BitmapDrawable) drawable; } else if (drawable instanceof ColorDrawable) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/TabPagerIndicator.java b/twidere/src/main/java/org/mariotaku/twidere/view/TabPagerIndicator.java index 189d45a34..cc7644df8 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/TabPagerIndicator.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/TabPagerIndicator.java @@ -167,8 +167,7 @@ public class TabPagerIndicator extends RecyclerView implements PagerIndicator, C mIndicatorAdapter.setStripColor(color); } - @DisplayOption - public void setTabDisplayOption(int flags) { + public void setTabDisplayOption(@DisplayOption int flags) { mOption = flags; } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt index 0c23a57c0..d902db21f 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt @@ -116,8 +116,8 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener private val backTimeoutRunnable = Runnable { navigateBackPressed = false } // Adapters - private var mediaPreviewAdapter: MediaPreviewAdapter? = null - private var accountsAdapter: AccountIconsAdapter? = null + private lateinit var mediaPreviewAdapter: MediaPreviewAdapter + private lateinit var accountsAdapter: AccountIconsAdapter // Data fields private var recentLocation: ParcelableLocation? = null @@ -197,12 +197,12 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener super.onDestroy() } - protected fun discardTweet() { + private fun discardTweet() { if (isFinishing || currentTask != null && currentTask!!.status == AsyncTask.Status.RUNNING) return currentTask = AsyncTaskUtils.executeTask(DiscardTweetTask(this)) } - protected fun hasComposingStatus(): Boolean { + private fun hasComposingStatus(): Boolean { val text = if (editText != null) ParseUtils.parseString(editText.text) else null val textChanged = text != null && !text.isEmpty() && text != originalText val isEditingDraft = INTENT_ACTION_EDIT_DRAFT == intent.action @@ -210,7 +210,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } public override fun onSaveInstanceState(outState: Bundle) { - outState.putParcelableArray(EXTRA_ACCOUNT_KEYS, accountsAdapter!!.selectedAccountKeys) + outState.putParcelableArray(EXTRA_ACCOUNT_KEYS, accountsAdapter.selectedAccountKeys) outState.putParcelableArrayList(EXTRA_MEDIA, ArrayList(mediaList)) outState.putBoolean(EXTRA_IS_POSSIBLY_SENSITIVE, possiblySensitive) outState.putParcelable(EXTRA_STATUS, inReplyToStatus) @@ -336,11 +336,11 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener try { val action = intent.action if (INTENT_ACTION_EXTENSION_COMPOSE == action) { - val accountKeys = accountsAdapter!!.selectedAccountKeys + val accountKeys = accountsAdapter.selectedAccountKeys intent.putExtra(EXTRA_TEXT, ParseUtils.parseString(editText.text)) intent.putExtra(EXTRA_ACCOUNT_KEYS, accountKeys) - if (accountKeys.size > 0) { - val accountKey = accountKeys[0] + if (accountKeys.isNotEmpty()) { + val accountKey = accountKeys.first() intent.putExtra(EXTRA_NAME, DataStoreUtils.getAccountName(this, accountKey)) intent.putExtra(EXTRA_SCREEN_NAME, DataStoreUtils.getAccountScreenName(this, accountKey)) } @@ -420,7 +420,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } fun removeAllMedia(list: List) { - mediaPreviewAdapter!!.removeAll(list) + mediaPreviewAdapter.removeAll(list) } fun saveToDrafts(): Uri { @@ -428,7 +428,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener val draft = Draft() draft.action_type = getDraftAction(intent.action) - draft.account_keys = accountsAdapter!!.selectedAccountKeys + draft.account_keys = accountsAdapter.selectedAccountKeys draft.text = text draft.media = media draft.location = recentLocation @@ -537,7 +537,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener accountSelector.itemAnimator = DefaultItemAnimator() accountsAdapter = AccountIconsAdapter(this) accountSelector.adapter = accountsAdapter - accountsAdapter!!.setAccounts(accounts) + accountsAdapter.setAccounts(accounts) val adapter = MediaPreviewAdapter(this, PreviewGridOnStartDragListener(this)) @@ -557,7 +557,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener if (savedInstanceState != null) { // Restore from previous saved state val selected = savedInstanceState.getParcelableArray(EXTRA_ACCOUNT_KEYS).toTypedArray(UserKey.CREATOR) - accountsAdapter!!.setSelectedAccountIds(*selected) + accountsAdapter.setSelectedAccountIds(*selected) possiblySensitive = savedInstanceState.getBoolean(EXTRA_IS_POSSIBLY_SENSITIVE) val mediaList = savedInstanceState.getParcelableArrayList(EXTRA_MEDIA) if (mediaList != null) { @@ -580,15 +580,15 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener handleDefaultIntent(intent) } setLabel(intent) - val selectedAccountIds = accountsAdapter!!.selectedAccountKeys + val selectedAccountIds = accountsAdapter.selectedAccountKeys if (ArrayUtils.isEmpty(selectedAccountIds)) { val idsInPrefs: Array = UserKey.arrayOf(preferences.getString(KEY_COMPOSE_ACCOUNTS, null)) ?: emptyArray() val intersection: Array = defaultAccountIds.intersect(listOf(*idsInPrefs)).toTypedArray() if (intersection.isEmpty()) { - accountsAdapter!!.setSelectedAccountIds(*defaultAccountIds) + accountsAdapter.setSelectedAccountIds(*defaultAccountIds) } else { - accountsAdapter!!.setSelectedAccountIds(*intersection) + accountsAdapter.setSelectedAccountIds(*intersection) } } originalText = ParseUtils.parseString(editText.text) @@ -642,7 +642,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener when (menuInfo.recyclerViewId) { R.id.attachedMediaPreview -> { val position = menuInfo.position - val mediaUpdate = mediaPreviewAdapter!!.getItem(position) + val mediaUpdate = mediaPreviewAdapter.getItem(position) val args = Bundle() args.putString(EXTRA_TEXT, mediaUpdate.alt_text) args.putInt(EXTRA_POSITION, position) @@ -684,7 +684,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } override fun afterTextChanged(s: Editable) { - textChanged = s.length == 0 + textChanged = s.isEmpty() val deletes = s.getSpans(0, s.length, MarkForDeleteSpan::class.java) for (delete in deletes) { s.delete(s.getSpanStart(delete), s.getSpanEnd(delete)) @@ -730,17 +730,17 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } private fun addMedia(media: ParcelableMediaUpdate) { - mediaPreviewAdapter!!.add(media) + mediaPreviewAdapter.add(media) updateAttachedMediaView() } private fun addMedia(media: List) { - mediaPreviewAdapter!!.addAll(media) + mediaPreviewAdapter.addAll(media) updateAttachedMediaView() } private fun clearMedia() { - mediaPreviewAdapter!!.clear() + mediaPreviewAdapter.clear() updateAttachedMediaView() } @@ -770,7 +770,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener get() = mediaList.toTypedArray() private val mediaList: List - get() = mediaPreviewAdapter!!.asList + get() = mediaPreviewAdapter.asList private fun handleDefaultIntent(intent: Intent?): Boolean { if (intent == null) return false @@ -778,11 +778,11 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener val hasAccountIds: Boolean if (intent.hasExtra(EXTRA_ACCOUNT_KEYS)) { val accountKeys = intent.getParcelableArrayExtra(EXTRA_ACCOUNT_KEYS).toTypedArray(UserKey.CREATOR) - accountsAdapter!!.setSelectedAccountIds(*accountKeys) + accountsAdapter.setSelectedAccountIds(*accountKeys) hasAccountIds = true } else if (intent.hasExtra(EXTRA_ACCOUNT_KEY)) { val accountKey = intent.getParcelableExtra(EXTRA_ACCOUNT_KEY) - accountsAdapter!!.setSelectedAccountIds(accountKey) + accountsAdapter.setSelectedAccountIds(accountKey) hasAccountIds = true } else { hasAccountIds = false @@ -833,7 +833,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener editText.setText(draft.text) val selectionEnd = editText.length() editText.setSelection(selectionEnd) - accountsAdapter!!.setSelectedAccountIds(*draft.account_keys ?: emptyArray()) + accountsAdapter.setSelectedAccountIds(*draft.account_keys ?: emptyArray()) if (draft.media != null) { addMedia(Arrays.asList(*draft.media)) } @@ -942,7 +942,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener editText.setText(String.format("@%s ", user.screen_name)) val selection_end = editText.length() editText.setSelection(selection_end) - accountsAdapter!!.setSelectedAccountIds(user.account_key) + accountsAdapter.setSelectedAccountIds(user.account_key) return true } @@ -950,7 +950,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener if (status == null) return false editText.setText(Utils.getQuoteStatus(this, status)) editText.setSelection(0) - accountsAdapter!!.setSelectedAccountIds(status.account_key) + accountsAdapter.setSelectedAccountIds(status.account_key) showQuoteLabel(status) return true } @@ -999,12 +999,9 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener mentions.add(status.quoted_user_screen_name) } if (!ArrayUtils.isEmpty(status.mentions)) { - for (mention in status.mentions) { - if (mention.key == status.account_key || TextUtils.isEmpty(mention.screen_name)) { - continue - } - mentions.add(mention.screen_name) - } + status.mentions + .filterNot { it.key == status.account_key || it.screen_name.isNullOrEmpty() } + .mapTo(mentions) { it.screen_name } mentions.addAll(extractor.extractMentionedScreennames(status.quoted_text_plain)) } else if (USER_TYPE_FANFOU_COM == status.account_key.host) { addFanfouHtmlToMentions(status.text_unescaped, status.spans, mentions) @@ -1018,15 +1015,11 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } } - for (mention in mentions) { - if (mention.equals(status.user_screen_name, ignoreCase = true) || mention.equals(account.user.screen_name, ignoreCase = true)) { - continue - } - editText.append("@$mention ") - } + mentions.filterNot { it.equals(status.user_screen_name, ignoreCase = true) || it.equals(account.user.screen_name, ignoreCase = true) } + .forEach { editText.append("@$it ") } val selectionEnd = editText.length() editText.setSelection(selectionStart, selectionEnd) - accountsAdapter!!.setSelectedAccountIds(status.account_key) + accountsAdapter.setSelectedAccountIds(status.account_key) showReplyLabel(status) return true } @@ -1046,23 +1039,19 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener private fun handleReplyMultipleIntent(screenNames: Array?, accountId: UserKey?, inReplyToStatus: ParcelableStatus): Boolean { - if (screenNames == null || screenNames.size == 0 || accountId == null) return false + if (screenNames == null || screenNames.isEmpty() || accountId == null) return false val myScreenName = DataStoreUtils.getAccountScreenName(this, accountId) if (TextUtils.isEmpty(myScreenName)) return false - for (screenName in screenNames) { - if (screenName.equals(myScreenName, ignoreCase = true)) { - continue - } - editText.append("@$screenName ") - } + screenNames.filterNot { it.equals(myScreenName, ignoreCase = true) } + .forEach { editText.append("@$it ") } editText.setSelection(editText.length()) - accountsAdapter!!.setSelectedAccountIds(accountId) + accountsAdapter.setSelectedAccountIds(accountId) this.inReplyToStatus = inReplyToStatus return true } private fun hasMedia(): Boolean { - return mediaPreviewAdapter!!.itemCount > 0 + return mediaPreviewAdapter.itemCount > 0 } private val isQuote: Boolean @@ -1083,7 +1072,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } private fun notifyAccountSelectionChanged() { - val accounts = accountsAdapter!!.selectedAccounts + val accounts = accountsAdapter.selectedAccounts setSelectedAccounts(*accounts) if (ArrayUtils.isEmpty(accounts)) { editText.accountKey = Utils.getDefaultAccountKey(this) @@ -1104,7 +1093,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener if (!shouldSaveAccounts) return val editor = preferences.edit() - editor.putString(KEY_COMPOSE_ACCOUNTS, accountsAdapter!!.selectedAccountKeys.joinToString(",")) + editor.putString(KEY_COMPOSE_ACCOUNTS, accountsAdapter.selectedAccountKeys.joinToString(",")) editor.apply() } @@ -1132,7 +1121,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener private val scheduleSupported: Boolean get() { - val accounts = accountsAdapter!!.selectedAccounts + val accounts = accountsAdapter.selectedAccounts if (ArrayUtils.isEmpty(accounts)) return false return false } @@ -1265,7 +1254,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener val text = if (editText != null) ParseUtils.parseString(editText.text) else null val tweetLength = validator.getTweetLength(text) val maxLength = statusTextCount.maxLength - if (accountsAdapter!!.isSelectionEmpty) { + if (accountsAdapter.isSelectionEmpty) { editText.error = getString(R.string.no_account_selected) return } else if (!hasMedia && (TextUtils.isEmpty(text) || noReplyContent(text))) { @@ -1279,7 +1268,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } val attachLocation = preferences.getBoolean(KEY_ATTACH_LOCATION) val attachPreciseLocation = preferences.getBoolean(KEY_ATTACH_PRECISE_LOCATION) - val accountKeys = accountsAdapter!!.selectedAccountKeys + val accountKeys = accountsAdapter.selectedAccountKeys val isPossiblySensitive = hasMedia && possiblySensitive val update = ParcelableStatusUpdate() @Draft.Action val action = draft?.action_type ?: getDraftAction(intent.action) @@ -1573,17 +1562,13 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener this.media = activity.mediaList } - override fun doInBackground(vararg params: Any): Unit { - for (item in media) { - val uri = Uri.parse(item.uri) - if (ContentResolver.SCHEME_FILE == uri.scheme) { - val file = File(uri.path) - if (!file.delete()) { - Log.d(LOGTAG, String.format("Unable to delete %s", file)) - } + override fun doInBackground(vararg params: Any) { + media.map { Uri.parse(it.uri) }.filter { ContentResolver.SCHEME_FILE == it.scheme }.forEach { uri -> + val file = File(uri.path) + if (!file.delete()) { + Log.d(LOGTAG, String.format("Unable to delete %s", file)) } } - return Unit } override fun onPostExecute(result: Unit) { @@ -1794,7 +1779,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener } private fun setMediaAltText(position: Int, altText: String?) { - mediaPreviewAdapter!!.setAltText(position, altText) + mediaPreviewAdapter.setAltText(position, altText) } class RetweetProtectedStatusWarnFragment : BaseDialogFragment(), DialogInterface.OnClickListener { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/MediaViewerActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/MediaViewerActivity.kt index e7d223c5e..d871815b5 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/MediaViewerActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/MediaViewerActivity.kt @@ -61,7 +61,7 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi @Inject lateinit var mMediaDownloader: MediaDownloader - private var mSaveToStoragePosition = -1 + private var saveToStoragePosition = -1 private var mShareMediaPosition = -1 @@ -120,8 +120,7 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi val adapter = viewPager.adapter val currentItem = viewPager.currentItem if (currentItem < 0 || currentItem >= adapter.count) return false - val obj = adapter.instantiateItem(viewPager, currentItem) - if (obj !is MediaViewerFragment) return false + val obj = adapter.instantiateItem(viewPager, currentItem) as? MediaViewerFragment ?: return false when (item.itemId) { R.id.refresh -> { if (obj is CacheDownloadMediaViewerFragment) { @@ -288,14 +287,14 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi intent.getParcelableArrayExtra(EXTRA_MEDIA).toTypedArray(ParcelableMedia.CREATOR) } - protected fun processShareIntent(intent: Intent) { + private fun processShareIntent(intent: Intent) { val status = status ?: return intent.putExtra(Intent.EXTRA_SUBJECT, IntentUtils.getStatusShareSubject(this, status)) intent.putExtra(Intent.EXTRA_TEXT, IntentUtils.getStatusShareText(this, status)) } - protected fun requestAndSaveToStorage(position: Int) { - mSaveToStoragePosition = position + private fun requestAndSaveToStorage(position: Int) { + saveToStoragePosition = position if (PermissionUtils.hasPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { saveToStorage() } else { @@ -309,7 +308,7 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi } } - protected fun requestAndShareMedia(position: Int) { + private fun requestAndShareMedia(position: Int) { mShareMediaPosition = position if (PermissionUtils.hasPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { shareMedia() @@ -324,12 +323,11 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi } } - protected fun shareMedia() { + private fun shareMedia() { if (mShareMediaPosition == -1) return val viewPager = findViewPager() val adapter = viewPager.adapter - val f = adapter.instantiateItem(viewPager, mShareMediaPosition) - if (f !is CacheDownloadMediaViewerFragment) return + val f = adapter.instantiateItem(viewPager, mShareMediaPosition) as? CacheDownloadMediaViewerFragment ?: return val result = f.downloadResult if (result == null || result.cacheUri == null) { // TODO show error @@ -393,12 +391,11 @@ class MediaViewerActivity : BaseActivity(), IExtendedActivity, ATEToolbarCustomi AsyncTaskUtils.executeTask(task) } - protected fun saveToStorage() { - if (mSaveToStoragePosition == -1) return + private fun saveToStorage() { + if (saveToStoragePosition == -1) return val viewPager = findViewPager() val adapter = viewPager.adapter - val f = adapter.instantiateItem(viewPager, mSaveToStoragePosition) - if (f !is CacheDownloadMediaViewerFragment) return + val f = adapter.instantiateItem(viewPager, saveToStoragePosition) as? CacheDownloadMediaViewerFragment ?: return val result = f.downloadResult ?: return val cacheUri = result.cacheUri val hasMedia = cacheUri != null diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SettingsActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SettingsActivity.kt index 987d97c7d..0baf65c3c 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SettingsActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SettingsActivity.kt @@ -218,7 +218,7 @@ class SettingsActivity : BaseActivity(), OnItemClickListener, OnPreferenceStartF openDetails(position) } - protected fun openDetails(position: Int) { + private fun openDetails(position: Int) { if (isFinishing) return val entry = mEntriesAdapter!!.getItem(position) as? PreferenceEntry ?: return val fm = supportFragmentManager @@ -252,38 +252,38 @@ class SettingsActivity : BaseActivity(), OnItemClickListener, OnPreferenceStartF return false } - internal class EntriesAdapter(private val mContext: Context) : BaseAdapter() { - private val mInflater: LayoutInflater - private val mEntries: MutableList + internal class EntriesAdapter(context: Context) : BaseAdapter() { + private val inflater: LayoutInflater + private val entries: MutableList init { - mInflater = LayoutInflater.from(mContext) - mEntries = ArrayList() + inflater = LayoutInflater.from(context) + entries = ArrayList() } fun addPreference(tag: String, @DrawableRes icon: Int, title: String, @XmlRes preference: Int) { - mEntries.add(PreferenceEntry(tag, icon, title, preference, null, null)) + entries.add(PreferenceEntry(tag, icon, title, preference, null, null)) notifyDataSetChanged() } - @JvmOverloads fun addPreference(tag: String, @DrawableRes icon: Int, title: String, cls: Class, - args: Bundle? = null) { - mEntries.add(PreferenceEntry(tag, icon, title, 0, cls.name, args)) + fun addPreference(tag: String, @DrawableRes icon: Int, title: String, cls: Class, + args: Bundle? = null) { + entries.add(PreferenceEntry(tag, icon, title, 0, cls.name, args)) notifyDataSetChanged() } fun addHeader(title: String) { - mEntries.add(HeaderEntry(title)) + entries.add(HeaderEntry(title)) notifyDataSetChanged() } override fun getCount(): Int { - return mEntries.size + return entries.size } override fun getItem(position: Int): Entry { - return mEntries[position] + return entries[position] } override fun getItemId(position: Int): Long { @@ -311,16 +311,13 @@ class SettingsActivity : BaseActivity(), OnItemClickListener, OnPreferenceStartF override fun getView(position: Int, convertView: View?, parent: ViewGroup): View { val viewType = getItemViewType(position) val entry = getItem(position) - val view: View - if (convertView != null) { - view = convertView - } else { + val view: View = convertView ?: let { when (viewType) { VIEW_TYPE_PREFERENCE_ENTRY -> { - view = mInflater.inflate(R.layout.list_item_preference_header_item, parent, false) + return@let inflater.inflate(R.layout.list_item_preference_header_item, parent, false) } VIEW_TYPE_HEADER_ENTRY -> { - view = mInflater.inflate(R.layout.list_item_preference_header_category, parent, false) + return@let inflater.inflate(R.layout.list_item_preference_header_category, parent, false) } else -> { throw UnsupportedOperationException() diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/AccountDetailsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/AccountDetailsAdapter.kt index 5734b9ea8..a9abbcf34 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/AccountDetailsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/AccountDetailsAdapter.kt @@ -26,7 +26,6 @@ import android.widget.CompoundButton import org.mariotaku.twidere.R import org.mariotaku.twidere.adapter.iface.IBaseAdapter import org.mariotaku.twidere.model.AccountDetails -import org.mariotaku.twidere.model.UserKey import org.mariotaku.twidere.model.util.AccountUtils import org.mariotaku.twidere.util.MediaLoaderWrapper import org.mariotaku.twidere.util.dagger.GeneralComponentHelper diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableActivitiesAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableActivitiesAdapter.kt index 8b5ef827e..015da6f42 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableActivitiesAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableActivitiesAdapter.kt @@ -157,7 +157,7 @@ class ParcelableActivitiesAdapter( return data!!.size } - protected fun bindTitleSummaryViewHolder(holder: ActivityTitleSummaryViewHolder, position: Int) { + private fun bindTitleSummaryViewHolder(holder: ActivityTitleSummaryViewHolder, position: Int) { holder.displayActivity(getActivity(position)!!, byFriends) } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableGroupsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableGroupsAdapter.kt index afd480778..7437701cf 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableGroupsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/ParcelableGroupsAdapter.kt @@ -70,7 +70,7 @@ class ParcelableGroupsAdapter(context: Context) : LoadMoreSupportAdapter= userCount) return false data.removeAt(dataPosition) @@ -121,8 +120,7 @@ class ParcelableUsersAdapter(context: Context) : LoadMoreSupportAdapter= userCount) return false data[dataPosition] = user diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/VariousItemsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/VariousItemsAdapter.kt index de3d93f7c..413e2c167 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/VariousItemsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/VariousItemsAdapter.kt @@ -71,7 +71,7 @@ class VariousItemsAdapter(context: Context) : LoadMoreSupportAdapter : IContentCardAdapter, IGapSupportedAdapter { +interface IActivitiesAdapter : IContentCardAdapter, IGapSupportedAdapter { val activityCount: Int diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IGroupsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IGroupsAdapter.kt index 289a95a40..13922c49b 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IGroupsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IGroupsAdapter.kt @@ -25,7 +25,7 @@ import org.mariotaku.twidere.view.holder.GroupViewHolder /** * Created by mariotaku on 15/4/16. */ -interface IGroupsAdapter : IContentCardAdapter { +interface IGroupsAdapter : IContentCardAdapter { val groupsCount: Int diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IStatusesAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IStatusesAdapter.kt index 5f20a4dd9..344fe6e04 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IStatusesAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IStatusesAdapter.kt @@ -10,7 +10,7 @@ import org.mariotaku.twidere.view.holder.iface.IStatusViewHolder /** * Created by mariotaku on 14/11/18. */ -interface IStatusesAdapter : IContentCardAdapter, IGapSupportedAdapter { +interface IStatusesAdapter : IContentCardAdapter, IGapSupportedAdapter { @TwidereLinkify.HighlightStyle val linkHighlightingStyle: Int diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUserListsAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUserListsAdapter.kt index b59da9d55..01af23963 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUserListsAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUserListsAdapter.kt @@ -25,7 +25,7 @@ import org.mariotaku.twidere.view.holder.UserListViewHolder /** * Created by mariotaku on 15/4/16. */ -interface IUserListsAdapter : IContentCardAdapter { +interface IUserListsAdapter : IContentCardAdapter { val userListsCount: Int diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUsersAdapter.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUsersAdapter.kt index 043bcf16e..f670e39f6 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUsersAdapter.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/adapter/iface/IUsersAdapter.kt @@ -25,7 +25,7 @@ import org.mariotaku.twidere.view.holder.UserViewHolder /** * Created by mariotaku on 15/4/16. */ -interface IUsersAdapter : IContentCardAdapter { +interface IUsersAdapter : IContentCardAdapter { val userCount: Int diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/extension/CredentialsExtensions.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/extension/CredentialsExtensions.kt index 976ff3550..1184703f2 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/extension/CredentialsExtensions.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/extension/CredentialsExtensions.kt @@ -104,7 +104,7 @@ fun Credentials.newMicroBlogInstance(context: Context, extraRequestParams: Map? = null, cls: Class): T { return newMicroBlogInstance(context, getAuthorization(), getEndpoint(cls), - twitterExtraQueries, extraRequestParams, cls); + twitterExtraQueries, extraRequestParams, cls) } fun newMicroBlogInstance(context: Context, diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/extension/model/AccountDetailsExtensions.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/extension/model/AccountDetailsExtensions.kt index 709589e98..f85337a26 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/extension/model/AccountDetailsExtensions.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/extension/model/AccountDetailsExtensions.kt @@ -15,7 +15,7 @@ fun AccountDetails.isOfficial(context: Context): Boolean { val credentials = this.credentials if (credentials is OAuthCredentials) { return TwitterContentUtils.isOfficialKey(context, - credentials.consumer_key, credentials.consumer_secret); + credentials.consumer_key, credentials.consumer_secret) } return false } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt index 64084b218..8849ed8a5 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt @@ -243,7 +243,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec val lastItemIndex = Math.min(activityEndIndex, lastVisiblePos) lastReadId = adapter.getTimestamp(lastItemIndex) val positionView = layoutManager.findViewByPosition(lastItemIndex) - lastVisibleTop = if (positionView != null) positionView.top else 0 + lastVisibleTop = positionView?.top ?: 0 } else if (rememberPosition && tag != null) { lastReadId = readStateManager.getPosition(tag) lastVisibleTop = 0 @@ -269,7 +269,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec if (loader !is IExtendedLoader || loader.fromUser) { adapter.loadMoreSupportedPosition = if (hasMoreData(data)) ILoadMoreSupportAdapter.END else ILoadMoreSupportAdapter.NONE var pos = -1 - for (i in activityStartIndex..activityEndExclusiveIndex - 1) { + for (i in activityStartIndex until activityEndExclusiveIndex) { if (lastReadId != -1L && adapter.getTimestamp(i) <= lastReadId) { pos = i break diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt index ed166425a..af70cb4cd 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsStatusesFragment.kt @@ -515,10 +515,8 @@ abstract class AbsStatusesFragment protected constructor() : val status = adapter.getStatus(position) ?: return val positionKey = if (status.position_key > 0) status.position_key else status.timestamp readPositionTagWithArguments?.let { - for (accountKey in accountKeys) { - val tag = Utils.getReadPositionTagWithAccount(it, accountKey) - readStateManager.setPosition(tag, positionKey) - } + accountKeys.map { accountKey -> Utils.getReadPositionTagWithAccount(it, accountKey) } + .forEach { readStateManager.setPosition(it, positionKey) } } currentReadPositionTag?.let { readStateManager.setPosition(it, positionKey, true) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsToolbarTabPagesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsToolbarTabPagesFragment.kt index 967ba518b..2c138f5d9 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsToolbarTabPagesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsToolbarTabPagesFragment.kt @@ -56,7 +56,7 @@ abstract class AbsToolbarTabPagesFragment : BaseSupportFragment(), RefreshScroll val pageLimit = viewPager.offscreenPageLimit val currentItem = viewPager.currentItem val count = pagerAdapter!!.count - for (i in 0..count - 1) { + for (i in 0 until count) { if (i > currentItem - pageLimit - 1 || i < currentItem + pageLimit) { val obj = pagerAdapter!!.instantiateItem(viewPager, i) if (obj is IBaseFragment) { @@ -105,8 +105,7 @@ abstract class AbsToolbarTabPagesFragment : BaseSupportFragment(), RefreshScroll } override fun scrollToStart(): Boolean { - val fragment = currentVisibleFragment - if (fragment !is RefreshScrollTopInterface) return false + val fragment = currentVisibleFragment as? RefreshScrollTopInterface ?: return false fragment.scrollToStart() return true } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt index 37c39031f..1ee6f4c10 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt @@ -267,13 +267,7 @@ class AccountsDashboardFragment : BaseSupportFragment(), LoaderCallbacks 0) { showContent() - } else if (accountKeys.size > 0) { + } else if (accountKeys.isNotEmpty()) { val errorInfo = ErrorInfoStore.getErrorInfo(context, errorInfoStore.get(errorInfoKey, accountKeys[0])) if (errorInfo != null) { @@ -158,7 +158,7 @@ abstract class CursorActivitiesFragment : AbsActivitiesFragment() { override fun onLoadMoreContents(@IndicatorPosition position: Long) { // Only supports load from end, skip START flag if (position and ILoadMoreSupportAdapter.START !== 0L || refreshing) return - super.onLoadMoreContents(position.toLong()) + super.onLoadMoreContents(position) if (position == 0L) return getActivities(object : SimpleRefreshTaskParam() { override fun getAccountKeysWorker(): Array { @@ -268,9 +268,8 @@ abstract class CursorActivitiesFragment : AbsActivitiesFragment() { continue@loop } val statusesMatrix = arrayOf(activity.target_statuses, activity.target_object_statuses) - for (statusesArray in statusesMatrix) { - if (statusesArray == null) continue - for (status in statusesArray) { + statusesMatrix.filterNotNull().forEach { statuses -> + for (status in statuses) { if (result.id == status.id || result.id == status.retweet_id || result.id == status.my_retweet_id) { status.is_favorite = result.is_favorite diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorStatusesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorStatusesFragment.kt index 335fb31ba..1f02eaa2a 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorStatusesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorStatusesFragment.kt @@ -102,10 +102,10 @@ abstract class CursorStatusesFragment : AbsStatusesFragment() { private fun showContentOrError() { val accountKeys = accountKeys - val adapter = adapter - if (adapter!!.itemCount > 0) { + val adapter = adapter!! + if (adapter.itemCount > 0) { showContent() - } else if (accountKeys.size > 0) { + } else if (accountKeys.isNotEmpty()) { val errorInfo = ErrorInfoStore.getErrorInfo(context, errorInfoStore.get(errorInfoKey, accountKeys[0])) if (errorInfo != null) { @@ -173,7 +173,7 @@ abstract class CursorStatusesFragment : AbsStatusesFragment() { override fun onLoadMoreContents(@IndicatorPosition position: Long) { // Only supports load from end, skip START flag if (position and ILoadMoreSupportAdapter.START !== 0L) return - super.onLoadMoreContents(position.toLong()) + super.onLoadMoreContents(position) if (position == 0L) return getStatuses(object : SimpleRefreshTaskParam() { override fun getAccountKeysWorker(): Array { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorSupportUsersListFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorSupportUsersListFragment.kt index 0dc1f76cb..9c26baa01 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorSupportUsersListFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CursorSupportUsersListFragment.kt @@ -65,7 +65,7 @@ abstract class CursorSupportUsersListFragment : ParcelableUsersFragment() { override fun onLoadMoreContents(@IndicatorPosition position: Long) { // Only supports load from end, skip START flag if (position and ILoadMoreSupportAdapter.START !== 0L) return - super.onLoadMoreContents(position.toLong()) + super.onLoadMoreContents(position) if (position == 0L) return val loaderArgs = Bundle(arguments) loaderArgs.putBoolean(EXTRA_FROM_USER, true) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CustomTabsFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CustomTabsFragment.kt index 4f264569a..c022f9b8a 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CustomTabsFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/CustomTabsFragment.kt @@ -43,7 +43,6 @@ import android.widget.AdapterView.OnItemClickListener import com.afollestad.appthemeengine.ATEActivity import com.afollestad.appthemeengine.Config import com.mobeta.android.dslv.SimpleDragSortCursorAdapter -import kotlinx.android.synthetic.main.layout_actionbar_message_user_picker.view.* import kotlinx.android.synthetic.main.layout_draggable_list_with_empty_view.* import kotlinx.android.synthetic.main.list_item_section_header.view.* import org.mariotaku.ktextension.Bundle diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DirectMessagesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DirectMessagesFragment.kt index 1042e9cb7..67fb9910d 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DirectMessagesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DirectMessagesFragment.kt @@ -137,7 +137,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment 1) refreshEnabled = true - if (accountIds.size > 0) { + if (accountIds.isNotEmpty()) { val errorInfo = ErrorInfoStore.getErrorInfo(context, errorInfoStore.get(ErrorInfoStore.KEY_DIRECT_MESSAGES, accountIds[0])) if (isEmpty && errorInfo != null) { @@ -150,7 +150,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment val tag = "messages_" + accountKey notificationManager.cancel(tag, NOTIFICATION_ID_DIRECT_MESSAGES) } @@ -282,7 +282,7 @@ class DirectMessagesFragment : AbsContentListRecyclerViewFragment + private val accountKeys: Array get() { val args = arguments val accountKeys = Utils.getAccountKeys(context, args) diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DraftsFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DraftsFragment.kt index 69da03da0..4c2bdc28f 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DraftsFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/DraftsFragment.kt @@ -214,7 +214,7 @@ class DraftsFragment : BaseSupportFragment(), LoaderCallbacks, OnItemCl continue@loop } val accountId = item.account_keys!![0] - val imageUri = if (item.media != null && item.media.size > 0) item.media[0].uri else null + val imageUri = item.media?.firstOrNull()?.uri twitterWrapper.sendDirectMessageAsync(accountId, recipientId, item.text, imageUri) } } @@ -307,7 +307,7 @@ class DraftsFragment : BaseSupportFragment(), LoaderCallbacks, OnItemCl f.dismiss() } } - for (id in ids) { + ids.forEach { id -> val tag = Uri.withAppendedPath(Drafts.CONTENT_URI, id.toString()).toString() notificationManager.cancel(tag, NOTIFICATION_ID_DRAFTS) } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GifPageFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GifPageFragment.kt index 976c92dfe..090788ebb 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GifPageFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GifPageFragment.kt @@ -86,7 +86,7 @@ class GifPageFragment : CacheDownloadMediaViewerFragment() { super.onDownloadFinished(nonce) if (mediaDownloadEvent != null && mediaDownloadEvent!!.nonce == nonce) { mediaDownloadEvent!!.markEnd() - HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) + HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) mediaDownloadEvent = null } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GroupFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GroupFragment.kt index 80bcdc6a2..d6cebcef1 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GroupFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/GroupFragment.kt @@ -104,8 +104,8 @@ class GroupFragment : AbsToolbarTabPagesFragment(), LoaderCallbacks(EXTRA_GROUP) if (cache != null) return SingleResponse.getInstance(cache) } - val twitter = MicroBlogAPIFactory.getInstance(context, accountKey, - true) ?: return SingleResponse.getInstance() + val twitter = MicroBlogAPIFactory.getInstance(context, accountKey + ) ?: return SingleResponse.getInstance() try { val group: Group if (groupId != null) { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/ImagePageFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/ImagePageFragment.kt index 1df53769a..175c10c43 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/ImagePageFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/ImagePageFragment.kt @@ -129,7 +129,7 @@ class ImagePageFragment : SubsampleImageViewerFragment() { super.onDownloadFinished(nonce) if (mediaDownloadEvent != null && mediaDownloadEvent!!.nonce == nonce) { mediaDownloadEvent!!.markEnd() - HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) + HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) mediaDownloadEvent = null } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/MessagesConversationFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/MessagesConversationFragment.kt index f5daea9fe..f645a2271 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/MessagesConversationFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/MessagesConversationFragment.kt @@ -561,14 +561,12 @@ class MessagesConversationFragment : BaseSupportFragment(), LoaderCallbacks, +abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment(), LoaderCallbacks?>, UserClickListener, KeyboardShortcutCallback, IUsersAdapter.FriendshipClickListener { @@ -57,7 +57,7 @@ abstract class ParcelableUsersFragment : AbsContentListRecyclerViewFragment> { override fun onCreateLoader(id: Int, args: Bundle): Loader> { - adapter!!.isRepliesLoading = true - adapter!!.isConversationsLoading = true - adapter!!.updateItemDecoration() - val status = args.getParcelable(EXTRA_STATUS) + val adapter = this@StatusFragment.adapter!! + adapter.isRepliesLoading = true + adapter.isConversationsLoading = true + adapter.updateItemDecoration() + val status: ParcelableStatus = args.getParcelable(EXTRA_STATUS) val maxId = args.getString(EXTRA_MAX_ID) val sinceId = args.getString(EXTRA_SINCE_ID) val maxSortId = args.getLong(EXTRA_MAX_SORT_ID) val sinceSortId = args.getLong(EXTRA_SINCE_SORT_ID) val loadingMore = args.getBoolean(EXTRA_LOADING_MORE, false) - assert(status != null) - val loader = ConversationLoader(activity, status!!, sinceId, - maxId, sinceSortId, maxSortId, adapter!!.getData(), true, loadingMore) + val loader = ConversationLoader(activity, status, sinceId, maxId, sinceSortId, maxSortId, + adapter.getData(), true, loadingMore) // Setting comparator to null lets statuses sort ascending loader.comparator = null return loader } override fun onLoadFinished(loader: Loader>, data: List?) { - adapter!!.updateItemDecoration() + val adapter = this@StatusFragment.adapter!! + adapter.updateItemDecoration() val conversationLoader = loader as ConversationLoader var supportedPositions: Long = 0 if (data != null && !data.isEmpty()) { @@ -171,21 +172,16 @@ class StatusFragment : BaseSupportFragment(), LoaderCallbacks>) { @@ -564,7 +560,7 @@ class StatusFragment : BaseSupportFragment(), LoaderCallbacks { val status = params[0] - val twitter = MicroBlogAPIFactory.getInstance(context, status.account_key, - true) + val twitter = MicroBlogAPIFactory.getInstance(context, status.account_key + ) val prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE) if (twitter == null) return SingleResponse.Companion.getInstance() @@ -1260,7 +1256,7 @@ class StatusFragment : BaseSupportFragment(), LoaderCallbacks(userEvent!!) + HotMobiLogger.getInstance(context).log(userEvent!!) } bus.unregister(this) super.onStop() @@ -912,7 +912,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener ProgressDialogFragment.show(fragmentManager, "get_list_progress") } }.then { - val microBlog = MicroBlogAPIFactory.getInstance(context, user.account_key, true) + val microBlog = MicroBlogAPIFactory.getInstance(context, user.account_key) val paging = Paging() val ownedLists = microBlog.getUserListOwnerships(paging) var nextCursor = ownedLists.nextCursor @@ -1241,15 +1241,13 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener } override fun scrollToStart(): Boolean { - val fragment = currentVisibleFragment - if (fragment !is RefreshScrollTopInterface) return false + val fragment = currentVisibleFragment as? RefreshScrollTopInterface ?: return false fragment.scrollToStart() return true } override fun triggerRefresh(): Boolean { - val fragment = currentVisibleFragment - if (fragment !is RefreshScrollTopInterface) return false + val fragment = currentVisibleFragment as? RefreshScrollTopInterface ?: return false fragment.triggerRefresh() return true } @@ -1322,8 +1320,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener } private fun setupBaseActionBar() { - val activity = activity - if (activity !is LinkHandlerActivity) return + val activity = activity as? LinkHandlerActivity ?: return val actionBar = activity.supportActionBar ?: return val shadow = ResourcesCompat.getDrawable(activity.getResources(), R.drawable.shadow_user_banner_action_bar, null) mActionBarBackground = ActionBarDrawable(shadow!!) @@ -1544,7 +1541,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener return SingleResponse.getInstance(ParcelableRelationshipUtils.create(user, isFiltering)) } } - val twitter = MicroBlogAPIFactory.getInstance(context, accountKey, false) ?: return SingleResponse.Companion.getInstance(MicroBlogException("No Account")) + val twitter = MicroBlogAPIFactory.getInstance(context, accountKey) ?: return SingleResponse.Companion.getInstance(MicroBlogException("No Account")) try { val relationship = twitter.showFriendship(user.key.id) if (relationship.isSourceBlockingTarget || relationship.isSourceBlockedByTarget) { @@ -1607,7 +1604,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener ProgressDialogFragment.show(fragmentManager, "update_lists_progress") } }.then { - val twitter = MicroBlogAPIFactory.getInstance(context, accountKey, false) + val twitter = MicroBlogAPIFactory.getInstance(context, accountKey) val successfulStates = SparseBooleanArray() try { for (i in 0 until checkedPositions.size()) { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserListFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserListFragment.kt index e90625b5a..6b49ce051 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserListFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserListFragment.kt @@ -414,8 +414,8 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener, LoaderCa val cache = extras.getParcelable(EXTRA_USER_LIST) if (cache != null) return SingleResponse.Companion.getInstance(cache) } - val twitter = MicroBlogAPIFactory.getInstance(context, accountKey, - true) ?: return SingleResponse.Companion.getInstance() + val twitter = MicroBlogAPIFactory.getInstance(context, accountKey + ) ?: return SingleResponse.Companion.getInstance() try { val list: UserList when { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserMediaTimelineFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserMediaTimelineFragment.kt index 2b2d0f967..c4190440d 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserMediaTimelineFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserMediaTimelineFragment.kt @@ -136,7 +136,7 @@ class UserMediaTimelineFragment : AbsContentRecyclerViewFragment(media.media_url, null) } - for (supportedType in supportedTypes) { - for (variant in media.video_info.variants) { - if (supportedType.equals(variant.content_type, ignoreCase = true)) - return Pair.create(variant.url, variant.content_type) - } - } - return null + val firstMatch = media.video_info.variants.first { variant -> + supportedTypes.any { it.equals(variant.content_type, ignoreCase = true) } + } ?: return null + return Pair.create(firstMatch.url, firstMatch.content_type) } ParcelableMedia.Type.CARD_ANIMATED_GIF -> { return Pair.create(media.media_url, "video/mp4") @@ -265,7 +262,7 @@ class VideoPageFragment : CacheDownloadMediaViewerFragment(), MediaPlayer.OnPrep super.onDownloadFinished(nonce) if (mediaDownloadEvent != null && mediaDownloadEvent!!.nonce == nonce) { mediaDownloadEvent!!.markEnd() - HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) + HotMobiLogger.getInstance(context).log(accountKey, mediaDownloadEvent!!) mediaDownloadEvent = null } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableStatusesLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableStatusesLoader.kt index 630749f07..b1a76164e 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableStatusesLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableStatusesLoader.kt @@ -46,10 +46,7 @@ abstract class ParcelableStatusesLoader( } protected fun containsStatus(statusId: String): Boolean { - for (status in this.data) { - if (TextUtils.equals(status.id, statusId)) return true - } - return false + return data.any { TextUtils.equals(it.id, statusId) } } protected fun deleteStatus(statuses: MutableList?, statusId: String): Boolean { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUsersLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUsersLoader.kt index 62b80d2c9..187f455b9 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUsersLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUsersLoader.kt @@ -47,10 +47,7 @@ abstract class ParcelableUsersLoader( } protected fun hasId(id: String): Boolean { - for (i in this.data.indices) { - if (TextUtils.equals(this.data[i].key.id, id)) return true - } - return false + return data.indices.any { TextUtils.equals(data[it].key.id, id) } } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/SavedSearchesLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/SavedSearchesLoader.kt index 99d0563df..b5d6393d7 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/SavedSearchesLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/SavedSearchesLoader.kt @@ -36,8 +36,8 @@ class SavedSearchesLoader( ) : AsyncTaskLoader>(context), Constants { override fun loadInBackground(): ResponseList? { - val twitter = MicroBlogAPIFactory.getInstance(context, accountId, - false) ?: return null + val twitter = MicroBlogAPIFactory.getInstance(context, accountId + ) ?: return null try { return twitter.savedSearches } catch (e: MicroBlogException) { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/Response.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/Response.kt index ef9ebe279..cfe3921cc 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/Response.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/model/Response.kt @@ -24,7 +24,7 @@ import android.os.Bundle /** * Created by mariotaku on 15/10/11. */ -interface Response { +interface Response { val data: Data? val exception: Exception? diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/SingleResponse.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/SingleResponse.kt index 393ece291..fd6fd3100 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/SingleResponse.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/model/SingleResponse.kt @@ -38,11 +38,11 @@ data class SingleResponse( companion object { fun getInstance(): SingleResponse { - return SingleResponse(null, null) + return SingleResponse(null, null) } fun getInstance(exception: Exception): SingleResponse { - return SingleResponse(null, exception) + return SingleResponse(null, exception) } fun getInstance(data: T): SingleResponse { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/message/DatabaseReadyEvent.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/message/DatabaseReadyEvent.kt deleted file mode 100644 index d5c39813d..000000000 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/message/DatabaseReadyEvent.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.mariotaku.twidere.model.message - -object DatabaseReadyEvent { - -} \ No newline at end of file diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/tab/conf/StringExtraConfiguration.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/tab/conf/StringExtraConfiguration.kt index 0cf5dd2cb..3f45a69d4 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/tab/conf/StringExtraConfiguration.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/model/tab/conf/StringExtraConfiguration.kt @@ -13,11 +13,11 @@ import org.mariotaku.twidere.model.tab.TabConfiguration /** * Created by mariotaku on 2016/12/5. */ -class StringExtraConfiguration(key: String, private val def: String) : TabConfiguration.ExtraConfiguration(key) { +class StringExtraConfiguration(key: String, private val def: String?) : TabConfiguration.ExtraConfiguration(key) { var maxLines: Int = 0 - var value: String - get() = editText.text.toString() + var value: String? + get() = editText.text?.toString() set(value) = editText.setText(value) private lateinit var editText: EditText diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableActivityUtils.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableActivityUtils.kt index aefc03c1e..ff29de812 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableActivityUtils.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableActivityUtils.kt @@ -4,7 +4,6 @@ import org.mariotaku.microblog.library.twitter.model.Activity import org.mariotaku.twidere.model.ParcelableActivity import org.mariotaku.twidere.model.ParcelableUser import org.mariotaku.twidere.model.UserKey -import java.util.* /** * Processing ParcelableActivity @@ -28,16 +27,16 @@ object ParcelableActivityUtils { if (activity.sources == null) return false if (activity.after_filtered_source_ids != null) return false if (followingOnly || filteredUserIds.isNotEmpty()) { - val list = ArrayList() - for (user in activity.sources) { + val list = activity.sources.filter { user -> if (followingOnly && !user.is_following) { - continue + return@filter false } if (!filteredUserIds.contains(user.key)) { - list.add(user.key) + return@filter true } - } + return@filter false + }.map { it.key } activity.after_filtered_source_ids = list.toTypedArray() return true } else { @@ -51,7 +50,7 @@ object ParcelableActivityUtils { if (activity.after_filtered_source_ids == null || activity.sources.size == activity.after_filtered_source_ids.size) { return activity.sources } - val result = Array(activity.after_filtered_source_ids.size) { idx -> + val result = Array(activity.after_filtered_source_ids.size) { idx -> return@Array activity.sources.find { it.key == activity.after_filtered_source_ids[idx] }!! } activity.after_filtered_sources = result diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableStatusUtils.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableStatusUtils.kt index a9c056e47..004709ab8 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableStatusUtils.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/model/util/ParcelableStatusUtils.kt @@ -2,7 +2,6 @@ package org.mariotaku.twidere.model.util import android.text.Spannable import android.text.Spanned -import android.text.TextUtils import android.text.style.URLSpan import org.mariotaku.microblog.library.twitter.model.Status import org.mariotaku.twidere.TwidereConstants.USER_TYPE_FANFOU_COM @@ -175,20 +174,16 @@ object ParcelableStatusUtils { val inReplyToUserId = status.inReplyToUserId ?: return null val entities = status.userMentionEntities if (entities != null) { - for (entity in entities) { - if (TextUtils.equals(inReplyToUserId, entity.id)) { - return UserKey(inReplyToUserId, accountKey.host) - } + if (entities.any { inReplyToUserId == it.id }) { + return UserKey(inReplyToUserId, accountKey.host) } } val attentions = status.attentions if (attentions != null) { - for (attention in attentions) { - if (TextUtils.equals(inReplyToUserId, attention.id)) { - val host = UserKeyUtils.getUserHost(attention.ostatusUri, - accountKey.host) - return UserKey(inReplyToUserId, host) - } + attentions.firstOrNull { inReplyToUserId == it.id }?.let { + val host = UserKeyUtils.getUserHost(it.ostatusUri, + accountKey.host) + return UserKey(inReplyToUserId, host) } } return UserKey(inReplyToUserId, accountKey.host) @@ -225,24 +220,16 @@ object ParcelableStatusUtils { } private fun getTime(date: Date?): Long { - return if (date != null) date.time else 0 + return date?.time ?: 0 } fun getInReplyToName(status: Status): String? { val inReplyToUserId = status.inReplyToUserId - val entities = status.userMentionEntities - if (entities != null) { - for (entity in entities) { - if (TextUtils.equals(inReplyToUserId, entity.id)) return entity.name - } + status.userMentionEntities.firstOrNull { inReplyToUserId == it.id }?.let { + return it.name } - val attentions = status.attentions - if (attentions != null) { - for (attention in attentions) { - if (TextUtils.equals(inReplyToUserId, attention.id)) { - return attention.fullName - } - } + status.attentions?.firstOrNull { inReplyToUserId == it.id }?.let { + return it.fullName } return status.inReplyToScreenName } diff --git a/twidere/src/main/java/org/mariotaku/twidere/receiver/PowerStateReceiver.java b/twidere/src/main/kotlin/org/mariotaku/twidere/receiver/PowerStateReceiver.kt similarity index 56% rename from twidere/src/main/java/org/mariotaku/twidere/receiver/PowerStateReceiver.java rename to twidere/src/main/kotlin/org/mariotaku/twidere/receiver/PowerStateReceiver.kt index 5f11c6e2f..7d3a4157b 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/receiver/PowerStateReceiver.java +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/receiver/PowerStateReceiver.kt @@ -17,27 +17,30 @@ * along with this program. If not, see . */ -package org.mariotaku.twidere.receiver; +package org.mariotaku.twidere.receiver -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent -import edu.tsinghua.hotmobi.model.BatteryRecord; +import edu.tsinghua.hotmobi.model.BatteryRecord /** * Created by mariotaku on 15/9/29. */ -public class PowerStateReceiver extends BroadcastReceiver { - private static boolean serviceReceiverStarted; +class PowerStateReceiver : BroadcastReceiver() { - public static void setServiceReceiverStarted(boolean started) { - PowerStateReceiver.serviceReceiverStarted = started; + override fun onReceive(context: Context, intent: Intent) { + when (intent.action) { + Intent.ACTION_BATTERY_LOW, Intent.ACTION_BATTERY_OKAY, Intent.ACTION_POWER_CONNECTED, + Intent.ACTION_POWER_DISCONNECTED -> { + if (serviceReceiverStarted) return + BatteryRecord.log(context) + } + } } - @Override - public void onReceive(Context context, Intent intent) { - if (serviceReceiverStarted) return; - BatteryRecord.log(context); + companion object { + var serviceReceiverStarted: Boolean = false } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/service/StreamingService.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/service/StreamingService.kt index 659edaa44..e9b635920 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/service/StreamingService.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/service/StreamingService.kt @@ -168,15 +168,10 @@ class StreamingService : Service() { private val context: Context, private val account: AccountDetails ) : UserStreamCallback() { - private val resolver: ContentResolver private var statusStreamStarted: Boolean = false private val mentionsStreamStarted: Boolean = false - init { - resolver = context.contentResolver - } - override fun onConnected() { } @@ -190,21 +185,23 @@ class StreamingService : Service() { val where = Expression.equalsArgs(DirectMessages.MESSAGE_ID).sql val whereArgs = arrayOf(event.id) for (uri in MESSAGES_URIS) { - resolver.delete(uri, where, whereArgs) + context.contentResolver.delete(uri, where, whereArgs) } } override fun onStatusDeleted(event: DeletionEvent) { val statusId = event.id - resolver.delete(Statuses.CONTENT_URI, Expression.equalsArgs(Statuses.STATUS_ID).sql, + context.contentResolver.delete(Statuses.CONTENT_URI, Expression.equalsArgs(Statuses.STATUS_ID).sql, arrayOf(statusId)) - resolver.delete(Activities.AboutMe.CONTENT_URI, Expression.equalsArgs(Activities.STATUS_ID).sql, + context.contentResolver.delete(Activities.AboutMe.CONTENT_URI, Expression.equalsArgs(Activities.STATUS_ID).sql, arrayOf(statusId)) } @Throws(IOException::class) - override fun onDirectMessage(directMessage: DirectMessage?) { - if (directMessage == null || directMessage.id == null) return + override fun onDirectMessage(directMessage: DirectMessage) { + if (directMessage.id == null) return + + val resolver = context.contentResolver val where = Expression.and(Expression.equalsArgs(DirectMessages.ACCOUNT_KEY), Expression.equalsArgs(DirectMessages.MESSAGE_ID)).sql val whereArgs = arrayOf(account.key.toString(), directMessage.id) @@ -283,6 +280,8 @@ class StreamingService : Service() { } override fun onScrubGeo(userId: Long, upToStatusId: Long) { + val resolver = context.contentResolver + val where = Expression.and(Expression.equalsArgs(Statuses.USER_KEY), Expression.greaterEqualsArgs(Statuses.SORT_ID)).sql val whereArgs = arrayOf(userId.toString(), upToStatusId.toString()) @@ -297,6 +296,8 @@ class StreamingService : Service() { @Throws(IOException::class) override fun onStatus(status: Status) { + val resolver = context.contentResolver + val values = ContentValuesCreator.createStatus(status, account.key) if (!statusStreamStarted) { statusStreamStarted = true diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/task/CacheUsersStatusesTask.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/task/CacheUsersStatusesTask.kt index f430f149c..60e13c0c7 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/task/CacheUsersStatusesTask.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/task/CacheUsersStatusesTask.kt @@ -43,7 +43,7 @@ class CacheUsersStatusesTask(private val context: Context) : AbstractTask() val statusesValues = HashSet() @@ -51,17 +51,17 @@ class CacheUsersStatusesTask(private val context: Context) : AbstractTask? = null try { when (account.type) { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/util/ContentScrollHandler.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/util/ContentScrollHandler.kt index ef83138e0..cc2d6ff4b 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/util/ContentScrollHandler.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/util/ContentScrollHandler.kt @@ -70,8 +70,7 @@ open class ContentScrollHandler( if (contentListSupport is Fragment) { if (contentListSupport.context == null) return } - val adapter = contentListSupport.adapter - if (adapter !is ILoadMoreSupportAdapter) return + val adapter = contentListSupport.adapter as? ILoadMoreSupportAdapter ?: return if (!contentListSupport.refreshing && adapter.loadMoreSupportedPosition != ILoadMoreSupportAdapter.NONE && adapter.loadMoreIndicatorPosition == ILoadMoreSupportAdapter.NONE) { var position: Long = 0 diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/util/EmojiSupportUtils.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/util/EmojiSupportUtils.kt index 60f201b52..2b2073d5f 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/util/EmojiSupportUtils.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/util/EmojiSupportUtils.kt @@ -105,7 +105,7 @@ object EmojiSupportUtils { continue } var spans = text.getSpans(textIdx + textIdxOffset, textEnd, EmojiSpan::class.java) - if (spans.size == 0) { + if (spans.isEmpty()) { var drawable: Drawable? = emoji.getEmojiDrawableFor(*array[arrayIdx + arrayIdxOffset..arrayEnd]) if (drawable == null) { // Not emoji combination, just use fallback @@ -113,7 +113,7 @@ object EmojiSupportUtils { arrayIdxOffset = 0 skippedIndex = 0 spans = text.getSpans(textIdx + textIdxOffset, textEnd, EmojiSpan::class.java) - if (spans.size == 0) { + if (spans.isEmpty()) { drawable = emoji.getEmojiDrawableFor(*array[arrayIdx + arrayIdxOffset..arrayEnd]) } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/util/StatusLinkClickHandler.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/util/StatusLinkClickHandler.kt index 90775eed6..44176b1d2 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/util/StatusLinkClickHandler.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/util/StatusLinkClickHandler.kt @@ -49,12 +49,9 @@ open class StatusLinkClickHandler(context: Context, manager: MultiSelectManager, fun findByLink(media: Array?, link: String?): ParcelableMedia? { if (link == null || media == null) return null - for (mediaItem in media) { - if (link == mediaItem.media_url || link == mediaItem.url || - link == mediaItem.page_url || link == mediaItem.preview_url) - return mediaItem + return media.firstOrNull { + link == it.media_url || link == it.url || link == it.page_url || link == it.preview_url } - return null } } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/view/holder/StatusViewHolder.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/view/holder/StatusViewHolder.kt index 1f205acc4..ee8103d65 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/view/holder/StatusViewHolder.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/view/holder/StatusViewHolder.kt @@ -545,9 +545,8 @@ class StatusViewHolder(private val adapter: IStatusesAdapter<*>, itemView: View) private fun hasVideo(media: Array?): Boolean { if (media == null) return false - for (item in media) { - if (item == null) continue - when (item.type) { + media.filterNotNull().forEach { + when (it.type) { ParcelableMedia.Type.VIDEO, ParcelableMedia.Type.ANIMATED_GIF, ParcelableMedia.Type.EXTERNAL_PLAYER -> return true } } diff --git a/twidere/src/main/res/layout/activity_compose.xml b/twidere/src/main/res/layout/activity_compose.xml index 71321a3c3..64cc0b0eb 100644 --- a/twidere/src/main/res/layout/activity_compose.xml +++ b/twidere/src/main/res/layout/activity_compose.xml @@ -49,8 +49,8 @@ android:background="?android:panelColorBackground" android:ellipsize="end" android:padding="@dimen/element_spacing_normal" - android:singleLine="true" - tools:text="In reply to name: A quick brown fox jumps over the lazy dog"/> + tools:text="In reply to name: A quick brown fox jumps over the lazy dog" + android:maxLines="1"/> + tools:text="11.4, 51.4" + android:maxLines="1"/> + android:textStyle="bold" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/activity_sign_in.xml b/twidere/src/main/res/layout/activity_sign_in.xml index 90a17029c..e1f05c1d4 100644 --- a/twidere/src/main/res/layout/activity_sign_in.xml +++ b/twidere/src/main/res/layout/activity_sign_in.xml @@ -44,8 +44,8 @@ android:layout_height="wrap_content" android:hint="@string/username" android:inputType="textEmailAddress" - android:singleLine="true" - android:typeface="normal"/> + android:typeface="normal" + android:maxLines="1"/> + android:typeface="normal" + android:maxLines="1"/> + /> \ No newline at end of file diff --git a/twidere/src/main/res/layout/activity_user_list_selector.xml b/twidere/src/main/res/layout/activity_user_list_selector.xml index 3e0f8d0e2..3a0b2c00b 100644 --- a/twidere/src/main/res/layout/activity_user_list_selector.xml +++ b/twidere/src/main/res/layout/activity_user_list_selector.xml @@ -91,7 +91,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" - android:singleLine="true"/> + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + tools:text="Count" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/adapter_item_status_interact_user.xml b/twidere/src/main/res/layout/adapter_item_status_interact_user.xml index 1830a6e93..ead6b3d03 100644 --- a/twidere/src/main/res/layout/adapter_item_status_interact_user.xml +++ b/twidere/src/main/res/layout/adapter_item_status_interact_user.xml @@ -22,7 +22,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" - android:layout_height="match_parent"> + android:layout_height="match_parent" + tools:ignore="MergeRootFrame"> @@ -137,7 +136,6 @@ android:layout_alignLeft="@+id/title" android:layout_alignStart="@+id/title" android:layout_below="@+id/title" - android:singleLine="false" android:textAppearance="?android:textAppearanceSmall" android:textColor="?android:textColorSecondary" tools:text="@string/sample_status_text" diff --git a/twidere/src/main/res/layout/card_item_group_compact.xml b/twidere/src/main/res/layout/card_item_group_compact.xml index 905e394ff..0c856ab8a 100644 --- a/twidere/src/main/res/layout/card_item_group_compact.xml +++ b/twidere/src/main/res/layout/card_item_group_compact.xml @@ -104,9 +104,9 @@ android:drawableLeft="@drawable/ic_indicator_followers" android:drawablePadding="4dp" android:drawableStart="@drawable/ic_indicator_followers" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" - tools:text="255"/> + tools:text="255" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_auto_complete_textview.xml b/twidere/src/main/res/layout/dialog_auto_complete_textview.xml index c589cd38d..6b2aeb5ee 100644 --- a/twidere/src/main/res/layout/dialog_auto_complete_textview.xml +++ b/twidere/src/main/res/layout/dialog_auto_complete_textview.xml @@ -29,6 +29,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1" - android:singleLine="true"/> + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_compose_edit_alt_text.xml b/twidere/src/main/res/layout/dialog_compose_edit_alt_text.xml index c2e14a82b..ec4bd8961 100644 --- a/twidere/src/main/res/layout/dialog_compose_edit_alt_text.xml +++ b/twidere/src/main/res/layout/dialog_compose_edit_alt_text.xml @@ -10,6 +10,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text" - android:singleLine="false"/> + /> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_edit_user_nickname.xml b/twidere/src/main/res/layout/dialog_edit_user_nickname.xml index dbd1d04a2..1807b8db4 100644 --- a/twidere/src/main/res/layout/dialog_edit_user_nickname.xml +++ b/twidere/src/main/res/layout/dialog_edit_user_nickname.xml @@ -10,6 +10,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text|textPersonName" - android:singleLine="true"/> + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_host_mapping.xml b/twidere/src/main/res/layout/dialog_host_mapping.xml index 2066bb791..fea23ac0d 100644 --- a/twidere/src/main/res/layout/dialog_host_mapping.xml +++ b/twidere/src/main/res/layout/dialog_host_mapping.xml @@ -37,7 +37,7 @@ android:layout_height="wrap_content" android:hint="@string/host_mapping_host" android:inputType="text|textUri" - android:singleLine="true"/> + android:maxLines="1"/> + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_password_sign_in.xml b/twidere/src/main/res/layout/dialog_password_sign_in.xml index e3af8b904..28967835b 100644 --- a/twidere/src/main/res/layout/dialog_password_sign_in.xml +++ b/twidere/src/main/res/layout/dialog_password_sign_in.xml @@ -12,8 +12,8 @@ android:layout_height="wrap_content" android:hint="@string/username" android:inputType="textEmailAddress" - android:singleLine="true" - android:typeface="normal"/> + android:typeface="normal" + android:maxLines="1"/> + android:typeface="normal" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_set_consumer_key_secret.xml b/twidere/src/main/res/layout/dialog_set_consumer_key_secret.xml index 4412e2eac..8eddb0c65 100644 --- a/twidere/src/main/res/layout/dialog_set_consumer_key_secret.xml +++ b/twidere/src/main/res/layout/dialog_set_consumer_key_secret.xml @@ -42,11 +42,11 @@ android:ems="10" android:hint="@string/consumer_key" android:inputType="text|textVisiblePassword" - android:singleLine="true" app:met_autoValidate="true" app:met_baseColor="?android:textColorPrimary" app:met_floatingLabel="normal" - app:met_floatingLabelText="@string/consumer_key"/> + app:met_floatingLabelText="@string/consumer_key" + android:maxLines="1"/> + app:met_floatingLabelText="@string/consumer_secret" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/dialog_status_quote_retweet.xml b/twidere/src/main/res/layout/dialog_status_quote_retweet.xml index 889ffe578..707b55f99 100644 --- a/twidere/src/main/res/layout/dialog_status_quote_retweet.xml +++ b/twidere/src/main/res/layout/dialog_status_quote_retweet.xml @@ -45,7 +45,6 @@ android:focusable="true" android:hint="@string/comment_hint" android:inputType="textMultiLine|textLongMessage|textCapSentences" - android:singleLine="false" android:visibility="visible"> diff --git a/twidere/src/main/res/layout/dialog_user_list_detail_editor.xml b/twidere/src/main/res/layout/dialog_user_list_detail_editor.xml index 1e9707d9e..8405b6597 100644 --- a/twidere/src/main/res/layout/dialog_user_list_detail_editor.xml +++ b/twidere/src/main/res/layout/dialog_user_list_detail_editor.xml @@ -33,11 +33,11 @@ android:hint="@string/name" android:inputType="text" android:maxLength="20" - android:singleLine="true" app:met_baseColor="?android:textColorPrimary" app:met_floatingLabel="normal" app:met_floatingLabelText="@string/name" - app:met_maxCharacters="25"/> + app:met_maxCharacters="25" + android:maxLines="1"/> + android:text="@string/is_public" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/fragment_messages_conversation.xml b/twidere/src/main/res/layout/fragment_messages_conversation.xml index 41e2f28d6..e1c2931bb 100644 --- a/twidere/src/main/res/layout/fragment_messages_conversation.xml +++ b/twidere/src/main/res/layout/fragment_messages_conversation.xml @@ -126,7 +126,6 @@ android:hint="@string/type_to_compose" android:inputType="textShortMessage|textMultiLine|textCapSentences" android:maxHeight="140dp" - android:singleLine="false" android:textAppearance="?android:textAppearanceMedium" android:textColor="?android:textColorPrimary" android:textColorHint="?android:textColorTertiary"> diff --git a/twidere/src/main/res/layout/fragment_user_profile_editor.xml b/twidere/src/main/res/layout/fragment_user_profile_editor.xml index 449d00d83..10250b181 100644 --- a/twidere/src/main/res/layout/fragment_user_profile_editor.xml +++ b/twidere/src/main/res/layout/fragment_user_profile_editor.xml @@ -156,13 +156,13 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" - android:singleLine="true" app:met_baseColor="?android:textColorPrimary" app:met_floatingLabel="normal" app:met_floatingLabelText="@string/name" app:met_maxCharacters="20" app:met_primaryColor="?colorAccent" - tools:text="TwidereProject"/> + tools:text="TwidereProject" + android:maxLines="1"/> + tools:text="Earth" + android:maxLines="1"/> + tools:text="https://github.com/TwidereProject/" + android:maxLines="1"/> + tools:ignore="UnusedAttribute" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/header_drawer_account_selector.xml b/twidere/src/main/res/layout/header_drawer_account_selector.xml index f5252e87f..2ce71b8ed 100644 --- a/twidere/src/main/res/layout/header_drawer_account_selector.xml +++ b/twidere/src/main/res/layout/header_drawer_account_selector.xml @@ -93,6 +93,7 @@ android:layout_alignParentRight="true" android:layout_alignTop="@+id/otherAccountsList" android:background="?selectableItemBackgroundBorderless" + android:contentDescription="@string/next_item" android:scaleType="centerInside" android:src="@drawable/ic_indicator_arrow_next"/> @@ -105,6 +106,7 @@ android:layout_toEndOf="@id/profileImage" android:layout_toRightOf="@id/profileImage" android:background="?selectableItemBackgroundBorderless" + android:contentDescription="@string/previous_item" android:scaleType="centerInside" android:src="@drawable/ic_indicator_arrow_prev"/> diff --git a/twidere/src/main/res/layout/header_status_common.xml b/twidere/src/main/res/layout/header_status_common.xml index 1029a9e9b..491058b4b 100644 --- a/twidere/src/main/res/layout/header_status_common.xml +++ b/twidere/src/main/res/layout/header_status_common.xml @@ -27,7 +27,8 @@ android:clipChildren="false" android:focusable="true" android:orientation="vertical" - android:splitMotionEvents="false"> + android:splitMotionEvents="false" + tools:ignore="Overdraw"> + tools:text="Retweeted by Mariotaku" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/header_wizard_page.xml b/twidere/src/main/res/layout/header_wizard_page.xml index 786641b1a..32c21fdf0 100644 --- a/twidere/src/main/res/layout/header_wizard_page.xml +++ b/twidere/src/main/res/layout/header_wizard_page.xml @@ -31,10 +31,10 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/element_spacing_normal" - android:singleLine="true" android:tag="text_color|accent_color" android:textAppearance="?android:attr/textAppearanceLarge" - android:textSize="@dimen/text_size_wizard_title"/> + android:textSize="@dimen/text_size_wizard_title" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> + tools:text="https://api.twitter.com/" + android:maxLines="1"/> + tools:text="0123456789ABCD" + android:maxLines="1"/> + tools:text="0123456789ABCD" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/layout_extra_config_checkbox.xml b/twidere/src/main/res/layout/layout_extra_config_checkbox.xml index db7367cc9..a1fe50a6d 100644 --- a/twidere/src/main/res/layout/layout_extra_config_checkbox.xml +++ b/twidere/src/main/res/layout/layout_extra_config_checkbox.xml @@ -19,6 +19,7 @@ + android:orientation="horizontal" + tools:ignore="Overdraw"> + android:minHeight="?listPreferredItemHeight" + tools:ignore="Overdraw"> diff --git a/twidere/src/main/res/layout/layout_extra_config_user_list.xml b/twidere/src/main/res/layout/layout_extra_config_user_list.xml index 7491d5c8f..ef0198d3e 100644 --- a/twidere/src/main/res/layout/layout_extra_config_user_list.xml +++ b/twidere/src/main/res/layout/layout_extra_config_user_list.xml @@ -1,10 +1,12 @@ + android:minHeight="?listPreferredItemHeight" + tools:ignore="Overdraw"> diff --git a/twidere/src/main/res/layout/layout_tab_item.xml b/twidere/src/main/res/layout/layout_tab_item.xml index 0a28c0d52..12f3efc6f 100644 --- a/twidere/src/main/res/layout/layout_tab_item.xml +++ b/twidere/src/main/res/layout/layout_tab_item.xml @@ -65,7 +65,7 @@ android:ellipsize="none" android:gravity="center" android:padding="@dimen/element_spacing_xsmall" - android:singleLine="true" - android:textColor="@android:color/white" /> + android:textColor="@android:color/white" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_action_item.xml b/twidere/src/main/res/layout/list_action_item.xml index ed6290545..84a2c53a2 100644 --- a/twidere/src/main/res/layout/list_action_item.xml +++ b/twidere/src/main/res/layout/list_action_item.xml @@ -30,15 +30,15 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:singleLine="true" - android:textAppearance="?android:attr/textAppearanceMedium" /> + android:textAppearance="?android:attr/textAppearanceMedium" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceMedium" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_account.xml b/twidere/src/main/res/layout/list_item_account.xml index b04a939b4..614ab006c 100644 --- a/twidere/src/main/res/layout/list_item_account.xml +++ b/twidere/src/main/res/layout/list_item_account.xml @@ -80,19 +80,19 @@ android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:textColorPrimary" - tools:text="Name"/> + tools:text="Name" + android:maxLines="1"/> + tools:text="\@screenname" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceMedium" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_custom_tab.xml b/twidere/src/main/res/layout/list_item_custom_tab.xml index efc76fa52..ea141c7c4 100644 --- a/twidere/src/main/res/layout/list_item_custom_tab.xml +++ b/twidere/src/main/res/layout/list_item_custom_tab.xml @@ -57,18 +57,18 @@ android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:textColorPrimary" - android:textStyle="bold" /> + android:textStyle="bold" + android:maxLines="1"/> + android:textColor="?android:textColorSecondary" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_dashboard_menu.xml b/twidere/src/main/res/layout/list_item_dashboard_menu.xml index bc6bd7541..18ee4a77c 100644 --- a/twidere/src/main/res/layout/list_item_dashboard_menu.xml +++ b/twidere/src/main/res/layout/list_item_dashboard_menu.xml @@ -44,9 +44,9 @@ android:layout_marginStart="8dp" android:layout_weight="1" android:gravity="center_vertical" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:textColorPrimary" - android:textSize="16sp"/> + android:textSize="16sp" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_menu.xml b/twidere/src/main/res/layout/list_item_menu.xml index e231dc745..8113cb4c9 100644 --- a/twidere/src/main/res/layout/list_item_menu.xml +++ b/twidere/src/main/res/layout/list_item_menu.xml @@ -43,9 +43,9 @@ android:layout_marginStart="8dp" android:layout_weight="1" android:gravity="center_vertical" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" - android:textColor="?android:textColorPrimary" /> + android:textColor="?android:textColorPrimary" + android:maxLines="1"/> + tools:text="12:00" + android:maxLines="1"/> + tools:text="@string/sample_status_text" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_preference_header_category.xml b/twidere/src/main/res/layout/list_item_preference_header_category.xml index 6dc441ecf..6133faa7a 100644 --- a/twidere/src/main/res/layout/list_item_preference_header_category.xml +++ b/twidere/src/main/res/layout/list_item_preference_header_category.xml @@ -26,6 +26,6 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" - android:singleLine="true" android:tag="text_color|accent_color" - android:textColor="?colorAccent"/> + android:textColor="?colorAccent" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/list_item_preference_header_item.xml b/twidere/src/main/res/layout/list_item_preference_header_item.xml index 7ead05a41..c31add06d 100644 --- a/twidere/src/main/res/layout/list_item_preference_header_item.xml +++ b/twidere/src/main/res/layout/list_item_preference_header_item.xml @@ -47,10 +47,10 @@ android:layout_height="wrap_content" android:layout_weight="1" android:ellipsize="marquee" - android:singleLine="true" android:textAppearance="?android:textAppearanceMedium" android:textColor="?android:textColorPrimary" android:textSize="16sp" - tools:text="@string/settings"/> + tools:text="@string/settings" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/list_item_status.xml b/twidere/src/main/res/layout/list_item_status.xml index 1f7811482..b7c9a91b6 100644 --- a/twidere/src/main/res/layout/list_item_status.xml +++ b/twidere/src/main/res/layout/list_item_status.xml @@ -60,13 +60,13 @@ android:ellipsize="end" android:gravity="center_vertical|start" android:minHeight="@dimen/element_size_small" - android:singleLine="true" android:tag="font_family|user" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="gone" tools:text="Retweeted by Mariotaku" tools:textSize="@dimen/text_size_extra_small" - tools:visibility="visible"/> + tools:visibility="visible" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> @@ -465,10 +465,10 @@ android:focusable="false" android:gravity="center" android:minHeight="@dimen/button_size_content_card_action" - android:singleLine="true" android:tag="font_family|user" android:textAppearance="?android:textAppearanceSmall" - tools:text="255"/> + tools:text="255" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/list_item_suggestion_search.xml b/twidere/src/main/res/layout/list_item_suggestion_search.xml index cdebb643c..65215b0e8 100644 --- a/twidere/src/main/res/layout/list_item_suggestion_search.xml +++ b/twidere/src/main/res/layout/list_item_suggestion_search.xml @@ -60,10 +60,10 @@ android:id="@android:id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:textColorPrimary" - tools:text="Mariotaku"/> + tools:text="Mariotaku" + android:maxLines="1"/> diff --git a/twidere/src/main/res/layout/list_item_suggestion_user.xml b/twidere/src/main/res/layout/list_item_suggestion_user.xml index 9e8629069..c8d2a5a6f 100644 --- a/twidere/src/main/res/layout/list_item_suggestion_user.xml +++ b/twidere/src/main/res/layout/list_item_suggestion_user.xml @@ -54,10 +54,10 @@ android:id="@android:id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:textColorPrimary" - tools:text="Mariotaku"/> + tools:text="Mariotaku" + android:maxLines="1"/> + tools:text="\@mariotaku" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_two_line.xml b/twidere/src/main/res/layout/list_item_two_line.xml index 260f265a9..7d6018ce3 100644 --- a/twidere/src/main/res/layout/list_item_two_line.xml +++ b/twidere/src/main/res/layout/list_item_two_line.xml @@ -48,17 +48,17 @@ android:id="@android:id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" - tools:text="text1" /> + tools:text="text1" + android:maxLines="1"/> + tools:text="text2" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_two_line_checked.xml b/twidere/src/main/res/layout/list_item_two_line_checked.xml index 6d502d4d9..56746cda7 100644 --- a/twidere/src/main/res/layout/list_item_two_line_checked.xml +++ b/twidere/src/main/res/layout/list_item_two_line_checked.xml @@ -52,20 +52,20 @@ android:id="@android:id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="?android:textColorPrimary" android:textStyle="bold" - tools:text="text1" /> + tools:text="text1" + android:maxLines="1"/> + tools:text="text2" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceMedium" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_user.xml b/twidere/src/main/res/layout/list_item_user.xml index 4b23a0d6e..ea706b314 100644 --- a/twidere/src/main/res/layout/list_item_user.xml +++ b/twidere/src/main/res/layout/list_item_user.xml @@ -202,9 +202,9 @@ android:drawablePadding="@dimen/element_spacing_small" android:drawableStart="@drawable/ic_indicator_location" android:paddingTop="@dimen/element_spacing_small" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" - tools:text="Earth"/> + tools:text="Earth" + android:maxLines="1"/> + tools:text="https://github.com/TwidereProject" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> + tools:text="255" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/list_item_user_list.xml b/twidere/src/main/res/layout/list_item_user_list.xml index 6b0397ebf..b6698e6a1 100644 --- a/twidere/src/main/res/layout/list_item_user_list.xml +++ b/twidere/src/main/res/layout/list_item_user_list.xml @@ -62,20 +62,20 @@ android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" android:textColor="?android:attr/textColorPrimary" android:textStyle="bold" - tools:text="List"/> + tools:text="List" + android:maxLines="1"/> + tools:text="Created by user" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> + android:textAppearance="?android:attr/textAppearanceSmall" + android:maxLines="1"/> \ No newline at end of file diff --git a/twidere/src/main/res/layout/settings_layout_wizard_page_nav.xml b/twidere/src/main/res/layout/settings_layout_wizard_page_nav.xml index 7e80f439f..31970bf46 100644 --- a/twidere/src/main/res/layout/settings_layout_wizard_page_nav.xml +++ b/twidere/src/main/res/layout/settings_layout_wizard_page_nav.xml @@ -23,7 +23,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?selectableItemBackground" - android:padding="@dimen/element_spacing_large"> + android:padding="@dimen/element_spacing_large" + tools:ignore="Overdraw">