From 933232e3f4a3e40e3924e01d4a94bdd7fe2c25ef Mon Sep 17 00:00:00 2001 From: Mariotaku Lee Date: Thu, 17 Mar 2016 15:19:43 +0800 Subject: [PATCH] ui fixes fixed crashes after sending dm --- twidere/src/main/AndroidManifest.xml | 2 +- .../twidere/activity/ComposeActivity.java | 5 ++-- .../twidere/activity/HomeActivity.java | 24 +++++++--------- .../twidere/activity/LinkHandlerActivity.java | 9 ++++-- .../activity/SettingsWizardActivity.java | 12 ++++---- .../adapter/AccountsSpinnerAdapter.java | 2 +- .../adapter/SimpleParcelableUsersAdapter.java | 2 +- ...taggeredGridParcelableStatusesAdapter.java | 2 +- .../support/AbsToolbarTabPagesFragment.java | 8 ++++-- .../fragment/support/StatusFragment.java | 2 +- .../service/BackgroundOperationService.java | 12 ++++---- .../twidere/service/StreamingService.java | 7 +++-- .../mariotaku/twidere/util/ThemeUtils.java | 28 +++++++++---------- .../ActivityTitleSummaryViewHolder.java | 2 +- .../main/res/layout/activity_home_content.xml | 16 +++++++++-- .../res/layout/fragment_toolbar_tab_pages.xml | 11 ++++++-- .../main/res/xml/preferences_scrapyard.xml | 5 ---- 17 files changed, 84 insertions(+), 65 deletions(-) diff --git a/twidere/src/main/AndroidManifest.xml b/twidere/src/main/AndroidManifest.xml index 38a12c861..e8879488f 100644 --- a/twidere/src/main/AndroidManifest.xml +++ b/twidere/src/main/AndroidManifest.xml @@ -382,7 +382,7 @@ + android:theme="@style/Theme.Twidere.NoActionBar"/> 1 ? 0 : (int) (getControlBarHeight() * (offset - 1))); + final int translationY = mTabColumns > 1 ? 0 : (int) (getControlBarHeight() * (offset - 1)); + mActionBar.setTranslationY(translationY); + mWindowOverlay.setTranslationY(translationY); final ViewGroup.LayoutParams lp = mActionsButton.getLayoutParams(); if (lp instanceof MarginLayoutParams) { mActionsButton.setTranslationY((((MarginLayoutParams) lp).bottomMargin + mActionsButton.getHeight()) * (1 - offset)); @@ -594,7 +596,8 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen mViewPager = (ExtendedViewPager) findViewById(R.id.main_pager); mEmptyTabHint = findViewById(R.id.empty_tab_hint); mActionsButton = (FloatingActionButton) findViewById(R.id.actions_button); - mHomeContent = (ExtendedFrameLayout) findViewById(R.id.home_content); + mHomeContent = (ExtendedRelativeLayout) findViewById(R.id.home_content); + mWindowOverlay = findViewById(R.id.window_overlay); } private Fragment getKeyboardShortcutRecipient() { @@ -797,13 +800,6 @@ public class HomeActivity extends BaseAppCompatActivity implements OnClickListen mActionsButton.setContentDescription(getString(title)); } - private void updateActionsButtonStyle() { - final boolean leftsideComposeButton = mPreferences.getBoolean(KEY_LEFTSIDE_COMPOSE_BUTTON, false); - final FrameLayout.LayoutParams lp = (LayoutParams) mActionsButton.getLayoutParams(); - lp.gravity = Gravity.BOTTOM | (leftsideComposeButton ? Gravity.LEFT : Gravity.RIGHT); - mActionsButton.setLayoutParams(lp); - } - @Override public void onDrawerSlide(View drawerView, float slideOffset) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/LinkHandlerActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/LinkHandlerActivity.java index 5923daa21..efb9cb8de 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/LinkHandlerActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/LinkHandlerActivity.java @@ -41,6 +41,7 @@ import org.mariotaku.twidere.fragment.iface.IBaseFragment; import org.mariotaku.twidere.fragment.iface.IBaseFragment.SystemWindowsInsetsCallback; import org.mariotaku.twidere.fragment.iface.IToolBarSupportFragment; import org.mariotaku.twidere.fragment.iface.SupportFragmentCallback; +import org.mariotaku.twidere.graphic.EmptyDrawable; import org.mariotaku.twidere.util.KeyboardShortcutsHandler; import org.mariotaku.twidere.util.KeyboardShortcutsHandler.KeyboardShortcutCallback; import org.mariotaku.twidere.util.MultiSelectEventHandler; @@ -185,8 +186,12 @@ public class LinkHandlerActivity extends BaseAppCompatActivity implements System final FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(android.R.id.content, fragment); ft.commit(); - showFragment(linkId, uri); + setTitle(linkId, uri); mFinishOnly = Boolean.parseBoolean(uri.getQueryParameter(QUERY_PARAM_FINISH_ONLY)); + + if (fragment instanceof IToolBarSupportFragment) { + ThemeUtils.setCompatContentViewOverlay(this, new EmptyDrawable()); + } } @Override @@ -264,7 +269,7 @@ public class LinkHandlerActivity extends BaseAppCompatActivity implements System return mActionBarHeight = ThemeUtils.getActionBarHeight(this); } - private boolean showFragment(final int linkId, final Uri uri) { + private boolean setTitle(final int linkId, final Uri uri) { setSubtitle(null); switch (linkId) { case LINK_ID_STATUS: { diff --git a/twidere/src/main/java/org/mariotaku/twidere/activity/SettingsWizardActivity.java b/twidere/src/main/java/org/mariotaku/twidere/activity/SettingsWizardActivity.java index b9766535d..8c4887615 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/activity/SettingsWizardActivity.java +++ b/twidere/src/main/java/org/mariotaku/twidere/activity/SettingsWizardActivity.java @@ -21,10 +21,7 @@ package org.mariotaku.twidere.activity; import android.Manifest; import android.app.Activity; -import android.app.AlertDialog; import android.app.Dialog; -import android.app.DialogFragment; -import android.app.FragmentManager; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; @@ -35,6 +32,8 @@ import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; +import android.support.v4.app.DialogFragment; +import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; @@ -43,6 +42,8 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; +import com.afollestad.materialdialogs.AlertDialogWrapper; + import org.mariotaku.twidere.Constants; import org.mariotaku.twidere.R; import org.mariotaku.twidere.adapter.SupportTabsAdapter; @@ -480,9 +481,10 @@ public class SettingsWizardActivity extends BaseAppCompatActivity implements Con gotoNextPage(); } + @NonNull @Override public Dialog onCreateDialog(final Bundle savedInstanceState) { - final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + final AlertDialogWrapper.Builder builder = new AlertDialogWrapper.Builder(getActivity()); builder.setMessage(R.string.wizard_page_tabs_unchanged_message); builder.setPositiveButton(android.R.string.ok, this); return builder.create(); @@ -632,7 +634,7 @@ public class SettingsWizardActivity extends BaseAppCompatActivity implements Con @Override protected void onPostExecute(final Boolean result) { - final FragmentManager fm = mActivity.getFragmentManager(); + final FragmentManager fm = mActivity.getSupportFragmentManager(); final DialogFragment f = (DialogFragment) fm.findFragmentByTag(FRAGMENT_TAG); if (f != null) { f.dismiss(); diff --git a/twidere/src/main/java/org/mariotaku/twidere/adapter/AccountsSpinnerAdapter.java b/twidere/src/main/java/org/mariotaku/twidere/adapter/AccountsSpinnerAdapter.java index c4fe8c3b1..bf3c49633 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/adapter/AccountsSpinnerAdapter.java +++ b/twidere/src/main/java/org/mariotaku/twidere/adapter/AccountsSpinnerAdapter.java @@ -97,7 +97,7 @@ public class AccountsSpinnerAdapter extends ArrayAdapter if (icon != null) { icon.setVisibility(View.VISIBLE); if (mDisplayProfileImage) { - mImageLoader.displayProfileImage(icon, item.profile_image_url); + mImageLoader.displayProfileImage(icon, item); } else { mImageLoader.cancelDisplayTask(icon); // icon.setImageResource(R.drawable.ic_profile_image_default); diff --git a/twidere/src/main/java/org/mariotaku/twidere/adapter/SimpleParcelableUsersAdapter.java b/twidere/src/main/java/org/mariotaku/twidere/adapter/SimpleParcelableUsersAdapter.java index 47dc8d1ab..af6e93987 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/adapter/SimpleParcelableUsersAdapter.java +++ b/twidere/src/main/java/org/mariotaku/twidere/adapter/SimpleParcelableUsersAdapter.java @@ -76,7 +76,7 @@ public class SimpleParcelableUsersAdapter extends BaseArrayAdapter= " - + upToStatusId; + final String where = Expression.and(Expression.equalsArgs(Statuses.USER_ID), + Expression.greaterEqualsArgs(Statuses.SORT_ID)).getSQL(); + final String[] whereArgs = {String.valueOf(userId), String.valueOf(upToStatusId)}; final ContentValues values = new ContentValues(); values.putNull(Statuses.LOCATION); - resolver.update(Statuses.CONTENT_URI, values, where, null); + resolver.update(Statuses.CONTENT_URI, values, where, whereArgs); } @Override diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/ThemeUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/ThemeUtils.java index 39362f968..6143f269d 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/ThemeUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/ThemeUtils.java @@ -62,8 +62,6 @@ import org.mariotaku.twidere.Constants; import org.mariotaku.twidere.R; import org.mariotaku.twidere.activity.iface.IThemedActivity; import org.mariotaku.twidere.graphic.ActionBarColorDrawable; -import org.mariotaku.twidere.graphic.ActionIconDrawable; -import org.mariotaku.twidere.graphic.iface.DoNotWrapDrawable; import org.mariotaku.twidere.preference.ThemeBackgroundPreference; import org.mariotaku.twidere.util.menu.TwidereMenuInfo; import org.mariotaku.twidere.util.support.ViewSupport; @@ -617,7 +615,7 @@ public class ThemeUtils implements Constants { final Window window = activity.getWindow(); View contentLayout = window.findViewById(android.support.v7.appcompat.R.id.action_bar_activity_content); if (contentLayout == null) { - contentLayout = window.findViewById(android.R.id.content); + contentLayout = window.findViewById(R.id.content); } if (contentLayout instanceof FrameLayout) { ViewSupport.setForeground(contentLayout, overlay); @@ -699,18 +697,18 @@ public class ThemeUtils implements Constants { public static void wrapMenuItemIcon(@NonNull MenuItem item, int itemColor, int... excludeGroups) { if (ArrayUtils.contains(excludeGroups, item.getGroupId())) return; - final Drawable icon = item.getIcon(); - if (icon == null || icon instanceof DoNotWrapDrawable) return; - if (icon instanceof ActionIconDrawable) { - ((ActionIconDrawable) icon).setDefaultColor(itemColor); - item.setIcon(icon); - return; - } - icon.mutate(); - final Drawable.Callback callback = icon.getCallback(); - final ActionIconDrawable newIcon = new ActionIconDrawable(icon, itemColor); - newIcon.setCallback(callback); - item.setIcon(newIcon); +// final Drawable icon = item.getIcon(); +// if (icon == null || icon instanceof DoNotWrapDrawable) return; +// if (icon instanceof ActionIconDrawable) { +// ((ActionIconDrawable) icon).setDefaultColor(itemColor); +// item.setIcon(icon); +// return; +// } +// icon.mutate(); +// final Drawable.Callback callback = icon.getCallback(); +// final ActionIconDrawable newIcon = new ActionIconDrawable(icon, itemColor); +// newIcon.setCallback(callback); +// item.setIcon(newIcon); } public static void wrapToolbarMenuIcon(@Nullable ActionMenuView view, int itemColor, int popupItemColor, int... excludeGroups) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/view/holder/ActivityTitleSummaryViewHolder.java b/twidere/src/main/java/org/mariotaku/twidere/view/holder/ActivityTitleSummaryViewHolder.java index d6a9da8b3..cf9c1e22a 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/view/holder/ActivityTitleSummaryViewHolder.java +++ b/twidere/src/main/java/org/mariotaku/twidere/view/holder/ActivityTitleSummaryViewHolder.java @@ -144,7 +144,7 @@ public class ActivityTitleSummaryViewHolder extends ViewHolder implements View.O view.setImageDrawable(null); if (i < length) { view.setVisibility(View.VISIBLE); - imageLoader.displayProfileImage(view, statuses[i].profile_image_url); + imageLoader.displayProfileImage(view, statuses[i]); } else { imageLoader.cancelDisplayTask(view); view.setVisibility(View.GONE); diff --git a/twidere/src/main/res/layout/activity_home_content.xml b/twidere/src/main/res/layout/activity_home_content.xml index 7fe21ef2e..7c7b7af28 100644 --- a/twidere/src/main/res/layout/activity_home_content.xml +++ b/twidere/src/main/res/layout/activity_home_content.xml @@ -17,7 +17,7 @@ ~ along with this program. If not, see . --> - @@ -51,11 +52,20 @@ tools:listitem="@layout/layout_tab_item"/> + + - \ No newline at end of file + \ No newline at end of file diff --git a/twidere/src/main/res/layout/fragment_toolbar_tab_pages.xml b/twidere/src/main/res/layout/fragment_toolbar_tab_pages.xml index 287ef9b64..21dd9552e 100644 --- a/twidere/src/main/res/layout/fragment_toolbar_tab_pages.xml +++ b/twidere/src/main/res/layout/fragment_toolbar_tab_pages.xml @@ -17,7 +17,7 @@ ~ You should have received a copy of the GNU General Public License ~ along with this program. If not, see . --> - - \ No newline at end of file + + + \ No newline at end of file diff --git a/twidere/src/main/res/xml/preferences_scrapyard.xml b/twidere/src/main/res/xml/preferences_scrapyard.xml index 83c184267..5967ab810 100644 --- a/twidere/src/main/res/xml/preferences_scrapyard.xml +++ b/twidere/src/main/res/xml/preferences_scrapyard.xml @@ -55,9 +55,4 @@ android:key="tab_display_option" android:title="@string/tab_display_option"/> - \ No newline at end of file