added rtl xml attributes
This commit is contained in:
parent
f01beee026
commit
d88e4902c3
|
@ -68,13 +68,13 @@ public interface SharedPreferenceConstants {
|
|||
String VALUE_COMPOSE_QUIT_ACTION_SAVE = "save";
|
||||
String VALUE_COMPOSE_QUIT_ACTION_DISCARD = "discard";
|
||||
|
||||
String VALUE_TAB_DIPLAY_OPTION_ICON = "icon";
|
||||
String VALUE_TAB_DIPLAY_OPTION_LABEL = "label";
|
||||
String VALUE_TAB_DIPLAY_OPTION_BOTH = "both";
|
||||
int VALUE_TAB_DIPLAY_OPTION_CODE_ICON = 0x1;
|
||||
int VALUE_TAB_DIPLAY_OPTION_CODE_LABEL = 0x2;
|
||||
int VALUE_TAB_DIPLAY_OPTION_CODE_BOTH = VALUE_TAB_DIPLAY_OPTION_CODE_ICON
|
||||
| VALUE_TAB_DIPLAY_OPTION_CODE_LABEL;
|
||||
String VALUE_TAB_DISPLAY_OPTION_ICON = "icon";
|
||||
String VALUE_TAB_DISPLAY_OPTION_LABEL = "label";
|
||||
String VALUE_TAB_DISPLAY_OPTION_BOTH = "both";
|
||||
int VALUE_TAB_DISPLAY_OPTION_CODE_LABEL = 0x1;
|
||||
int VALUE_TAB_DISPLAY_OPTION_CODE_ICON = 0x2;
|
||||
int VALUE_TAB_DISPLAY_OPTION_CODE_BOTH = VALUE_TAB_DISPLAY_OPTION_CODE_ICON
|
||||
| VALUE_TAB_DISPLAY_OPTION_CODE_LABEL;
|
||||
|
||||
String VALUE_THEME_BACKGROUND_DEFAULT = "default";
|
||||
String VALUE_THEME_BACKGROUND_SOLID = "solid";
|
||||
|
|
|
@ -148,6 +148,7 @@ public class ParcelableAccount implements Parcelable {
|
|||
return null;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static long[] getAccountIds(final ParcelableAccount[] accounts) {
|
||||
final long[] ids = new long[accounts.length];
|
||||
for (int i = 0, j = accounts.length; i < j; i++) {
|
||||
|
@ -156,6 +157,7 @@ public class ParcelableAccount implements Parcelable {
|
|||
return ids;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static ParcelableAccount[] getAccounts(final Context context, final boolean activatedOnly,
|
||||
final boolean officialKeyOnly) {
|
||||
final List<ParcelableAccount> list = getAccountsList(context, activatedOnly, officialKeyOnly);
|
||||
|
|
|
@ -58,8 +58,8 @@ repositories {
|
|||
maven { url "https://jitpack.io" }
|
||||
}
|
||||
|
||||
configurations.all {
|
||||
exclude group: 'org.yaml', module: 'snakeyaml'
|
||||
configurations {
|
||||
all*.exclude group: 'org.yaml', module: 'snakeyaml'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
/*
|
||||
* Tweetings - Twitter client for Android
|
||||
*
|
||||
* Copyright (C) 2012 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package android.support.v4.app;
|
||||
|
||||
public interface ListFragmentTrojan {
|
||||
|
||||
public static final int INTERNAL_EMPTY_ID = ListFragment.INTERNAL_EMPTY_ID;
|
||||
public static final int INTERNAL_PROGRESS_CONTAINER_ID = ListFragment.INTERNAL_PROGRESS_CONTAINER_ID;
|
||||
public static final int INTERNAL_LIST_CONTAINER_ID = ListFragment.INTERNAL_LIST_CONTAINER_ID;
|
||||
}
|
|
@ -89,7 +89,7 @@ public class ThemedAppCompatDelegateFactory implements Constants {
|
|||
}
|
||||
}
|
||||
|
||||
public static interface KeyListener {
|
||||
public interface KeyListener {
|
||||
|
||||
boolean onKeyDown(int keyCode, KeyEvent event);
|
||||
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
package com.meizu.flyme.reflect;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ import static org.mariotaku.twidere.util.Utils.getDefaultAccountId;
|
|||
|
||||
public class TwitterLinkHandlerActivity extends Activity implements Constants {
|
||||
|
||||
@SuppressWarnings("SpellCheckingInspection")
|
||||
public static final String[] TWITTER_RESERVED_PATHS = {"about", "account", "accounts", "activity", "all",
|
||||
"announcements", "anywhere", "api_rules", "api_terms", "apirules", "apps", "auth", "badges", "blog",
|
||||
"business", "buttons", "contacts", "devices", "direct_messages", "download", "downloads",
|
||||
|
|
|
@ -11,25 +11,25 @@ import android.view.animation.DecelerateInterpolator;
|
|||
*/
|
||||
public interface IControlBarActivity {
|
||||
|
||||
public void setControlBarOffset(float offset);
|
||||
void setControlBarOffset(float offset);
|
||||
|
||||
public void setControlBarVisibleAnimate(boolean visible);
|
||||
void setControlBarVisibleAnimate(boolean visible);
|
||||
|
||||
public float getControlBarOffset();
|
||||
float getControlBarOffset();
|
||||
|
||||
public int getControlBarHeight();
|
||||
int getControlBarHeight();
|
||||
|
||||
public void notifyControlBarOffsetChanged();
|
||||
void notifyControlBarOffsetChanged();
|
||||
|
||||
public void registerControlBarOffsetListener(ControlBarOffsetListener listener);
|
||||
void registerControlBarOffsetListener(ControlBarOffsetListener listener);
|
||||
|
||||
public void unregisterControlBarOffsetListener(ControlBarOffsetListener listener);
|
||||
void unregisterControlBarOffsetListener(ControlBarOffsetListener listener);
|
||||
|
||||
public interface ControlBarOffsetListener {
|
||||
public void onControlBarOffsetChanged(IControlBarActivity activity, float offset);
|
||||
interface ControlBarOffsetListener {
|
||||
void onControlBarOffsetChanged(IControlBarActivity activity, float offset);
|
||||
}
|
||||
|
||||
public final class ControlBarShowHideHelper {
|
||||
final class ControlBarShowHideHelper {
|
||||
|
||||
private static final long DURATION = 200l;
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import android.os.Bundle;
|
|||
import android.os.Environment;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
|
||||
import org.mariotaku.twidere.R;
|
||||
|
|
|
@ -290,7 +290,7 @@ public class QuickSearchBarActivity extends ThemedFragmentActivity implements On
|
|||
window.setAttributes(attributes);
|
||||
}
|
||||
|
||||
static interface SuggestionItem {
|
||||
interface SuggestionItem {
|
||||
|
||||
void bindView(SuggestionsAdapter adapter, View view, int position);
|
||||
|
||||
|
|
|
@ -385,7 +385,7 @@ public abstract class AbsActivitiesAdapter<Data> extends Adapter<ViewHolder> imp
|
|||
return mDisplayMediaPreview;
|
||||
}
|
||||
|
||||
public static interface ActivityAdapterListener {
|
||||
public interface ActivityAdapterListener {
|
||||
void onGapClick(GapViewHolder holder, int position);
|
||||
}
|
||||
|
||||
|
|
|
@ -303,7 +303,7 @@ public abstract class AbsStatusesAdapter<D> extends LoadMoreSupportAdapter<ViewH
|
|||
|
||||
protected abstract void bindStatus(StatusViewHolder holder, int position);
|
||||
|
||||
public static interface StatusAdapterListener {
|
||||
public interface StatusAdapterListener {
|
||||
void onGapClick(GapViewHolder holder, int position);
|
||||
|
||||
void onMediaClick(StatusViewHolder holder, View view, ParcelableMedia media, int position);
|
||||
|
|
|
@ -203,7 +203,7 @@ public abstract class AbsUserListsAdapter<D> extends LoadMoreSupportAdapter<View
|
|||
|
||||
private UserListAdapterListener mUserListAdapterListener;
|
||||
|
||||
public static interface UserListAdapterListener {
|
||||
public interface UserListAdapterListener {
|
||||
|
||||
void onUserListClick(UserListViewHolder holder, int position);
|
||||
|
||||
|
|
|
@ -196,7 +196,7 @@ public abstract class AbsUsersAdapter<D> extends LoadMoreSupportAdapter<ViewHold
|
|||
|
||||
private UserAdapterListener mUserAdapterListener;
|
||||
|
||||
public static interface UserAdapterListener {
|
||||
public interface UserAdapterListener {
|
||||
|
||||
void onUserClick(UserViewHolder holder, int position);
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ public class SimpleParcelableUserListsAdapter extends BaseArrayAdapter<Parcelabl
|
|||
view.setTag(holder);
|
||||
}
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
// Clear images in order to prevent images in recycled view shown.
|
||||
holder.icon.setImageDrawable(null);
|
||||
|
||||
final ParcelableUserList user_list = getItem(position);
|
||||
|
|
|
@ -103,7 +103,7 @@ public class UserHashtagAutoCompleteAdapter extends SimpleCursorAdapter implemen
|
|||
final TextView text2 = (TextView) view.findViewById(android.R.id.text2);
|
||||
final ShapedImageView icon = (ShapedImageView) view.findViewById(android.R.id.icon);
|
||||
|
||||
// Clear images in prder to prevent images in recycled view shown.
|
||||
// Clear images in order to prevent images in recycled view shown.
|
||||
icon.setImageDrawable(null);
|
||||
|
||||
if (mScreenNameIdx != -1 && mNameIdx != -1 && mUserIdIdx != -1) {
|
||||
|
|
|
@ -26,27 +26,27 @@ import org.mariotaku.twidere.util.MediaLoaderWrapper;
|
|||
|
||||
public interface IBaseAdapter extends Constants, ListAdapter {
|
||||
|
||||
public MediaLoaderWrapper getImageLoader();
|
||||
MediaLoaderWrapper getImageLoader();
|
||||
|
||||
public int getLinkHighlightOption();
|
||||
int getLinkHighlightOption();
|
||||
|
||||
public float getTextSize();
|
||||
float getTextSize();
|
||||
|
||||
public boolean isDisplayNameFirst();
|
||||
boolean isDisplayNameFirst();
|
||||
|
||||
public boolean isProfileImageDisplayed();
|
||||
boolean isProfileImageDisplayed();
|
||||
|
||||
public boolean isShowAccountColor();
|
||||
boolean isShowAccountColor();
|
||||
|
||||
public void notifyDataSetChanged();
|
||||
void notifyDataSetChanged();
|
||||
|
||||
public void setDisplayNameFirst(boolean nameFirst);
|
||||
void setDisplayNameFirst(boolean nameFirst);
|
||||
|
||||
public void setDisplayProfileImage(boolean display);
|
||||
void setDisplayProfileImage(boolean display);
|
||||
|
||||
public void setLinkHighlightOption(String option);
|
||||
void setLinkHighlightOption(String option);
|
||||
|
||||
public void setShowAccountColor(boolean show);
|
||||
void setShowAccountColor(boolean show);
|
||||
|
||||
public void setTextSize(float textSize);
|
||||
void setTextSize(float textSize);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import android.view.View;
|
|||
|
||||
public interface IBaseCardAdapter extends IBaseAdapter {
|
||||
|
||||
public static interface MenuButtonClickListener {
|
||||
interface MenuButtonClickListener {
|
||||
void onMenuButtonClick(View button, int position, long id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ import org.mariotaku.twidere.view.ShapedImageView;
|
|||
|
||||
public interface IDirectMessagesAdapter {
|
||||
|
||||
public ParcelableDirectMessage findItem(long id);
|
||||
ParcelableDirectMessage findItem(long id);
|
||||
|
||||
@ShapedImageView.ShapeStyle
|
||||
int getProfileImageStyle();
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.mariotaku.twidere.adapter.iface;
|
|||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.util.MediaLoadingHandler;
|
||||
import org.mariotaku.twidere.util.TwidereLinkify;
|
||||
import org.mariotaku.twidere.util.UserColorNameManager;
|
||||
import org.mariotaku.twidere.view.CardMediaContainer.PreviewStyle;
|
||||
import org.mariotaku.twidere.view.holder.StatusViewHolder.StatusClickListener;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public class BaseListFragment extends ListFragment implements Constants, OnScrol
|
|||
}
|
||||
|
||||
public final MultiSelectManager getMultiSelectManager() {
|
||||
return getApplication() != null ? getApplication().getMultiSelectManager() : null;
|
||||
return getApplication().getMultiSelectManager();
|
||||
}
|
||||
|
||||
public final SharedPreferences getSharedPreferences(final String name, final int mode) {
|
||||
|
@ -76,7 +76,7 @@ public class BaseListFragment extends ListFragment implements Constants, OnScrol
|
|||
}
|
||||
|
||||
public AsyncTwitterWrapper getTwitterWrapper() {
|
||||
return getApplication() != null ? getApplication().getTwitterWrapper() : null;
|
||||
return getApplication().getTwitterWrapper();
|
||||
}
|
||||
|
||||
public void invalidateOptionsMenu() {
|
||||
|
|
|
@ -78,7 +78,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getConfiguraionMap;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getConfigurationMap;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconDrawable;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabIconObject;
|
||||
import static org.mariotaku.twidere.util.CustomTabUtils.getTabTypeName;
|
||||
|
@ -281,7 +281,7 @@ public class CustomTabsFragment extends BaseFragment implements LoaderCallbacks<
|
|||
if (itemAdd != null && itemAdd.hasSubMenu()) {
|
||||
final SubMenu subMenu = itemAdd.getSubMenu();
|
||||
subMenu.clear();
|
||||
final HashMap<String, CustomTabConfiguration> map = getConfiguraionMap();
|
||||
final HashMap<String, CustomTabConfiguration> map = getConfigurationMap();
|
||||
final List<Entry<String, CustomTabConfiguration>> tabs = new ArrayList<>(
|
||||
map.entrySet());
|
||||
Collections.sort(tabs, CustomTabConfigurationComparator.SINGLETON);
|
||||
|
@ -289,18 +289,18 @@ public class CustomTabsFragment extends BaseFragment implements LoaderCallbacks<
|
|||
final String type = entry.getKey();
|
||||
final CustomTabConfiguration conf = entry.getValue();
|
||||
|
||||
final boolean isOfficiakKeyAccountRequired = TAB_TYPE_ACTIVITIES_ABOUT_ME.equals(type)
|
||||
final boolean isOfficialKeyAccountRequired = TAB_TYPE_ACTIVITIES_ABOUT_ME.equals(type)
|
||||
|| TAB_TYPE_ACTIVITIES_BY_FRIENDS.equals(type);
|
||||
final boolean accountIdRequired = conf.getAccountRequirement() == CustomTabConfiguration.ACCOUNT_REQUIRED;
|
||||
|
||||
final Intent intent = new Intent(INTENT_ACTION_ADD_TAB);
|
||||
intent.setClass(getActivity(), CustomTabEditorActivity.class);
|
||||
intent.putExtra(EXTRA_TYPE, type);
|
||||
intent.putExtra(EXTRA_OFFICIAL_KEY_ONLY, isOfficiakKeyAccountRequired);
|
||||
intent.putExtra(EXTRA_OFFICIAL_KEY_ONLY, isOfficialKeyAccountRequired);
|
||||
|
||||
final MenuItem subItem = subMenu.add(conf.getDefaultTitle());
|
||||
final boolean disabledByNoAccount = accountIdRequired && accountIds.length == 0;
|
||||
final boolean disabledByNoOfficialKey = !forcePrivateAPI && isOfficiakKeyAccountRequired && !hasOfficialKeyAccounts;
|
||||
final boolean disabledByNoOfficialKey = !forcePrivateAPI && isOfficialKeyAccountRequired && !hasOfficialKeyAccounts;
|
||||
final boolean disabledByDuplicateTab = conf.isSingleTab() && isTabAdded(getActivity(), type);
|
||||
final boolean shouldDisable = disabledByDuplicateTab || disabledByNoOfficialKey || disabledByNoAccount;
|
||||
subItem.setVisible(!shouldDisable);
|
||||
|
|
|
@ -32,7 +32,7 @@ public interface IBaseFragment {
|
|||
|
||||
void onBaseViewCreated(View view, Bundle savedInstanceState);
|
||||
|
||||
public interface SystemWindowsInsetsCallback {
|
||||
interface SystemWindowsInsetsCallback {
|
||||
boolean getSystemWindowsInsets(Rect insets);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,9 +21,9 @@ package org.mariotaku.twidere.fragment.iface;
|
|||
|
||||
public interface IBasePullToRefreshFragment {
|
||||
|
||||
public void onRefresh();
|
||||
void onRefresh();
|
||||
|
||||
public boolean isRefreshing();
|
||||
boolean isRefreshing();
|
||||
|
||||
void setRefreshing(boolean refresh);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,6 @@ package org.mariotaku.twidere.fragment.iface;
|
|||
|
||||
public interface IMapFragment {
|
||||
|
||||
public void center();
|
||||
void center();
|
||||
|
||||
}
|
||||
|
|
|
@ -21,8 +21,8 @@ package org.mariotaku.twidere.fragment.iface;
|
|||
|
||||
public interface RefreshScrollTopInterface {
|
||||
|
||||
public boolean scrollToStart();
|
||||
boolean scrollToStart();
|
||||
|
||||
public boolean triggerRefresh();
|
||||
boolean triggerRefresh();
|
||||
|
||||
}
|
||||
|
|
|
@ -23,8 +23,8 @@ import android.support.v4.app.Fragment;
|
|||
|
||||
public interface SupportFragmentCallback {
|
||||
|
||||
public Fragment getCurrentVisibleFragment();
|
||||
Fragment getCurrentVisibleFragment();
|
||||
|
||||
public boolean triggerRefresh(int position);
|
||||
boolean triggerRefresh(int position);
|
||||
|
||||
}
|
||||
|
|
|
@ -243,7 +243,6 @@ public class AccountsDashboardFragment extends BaseSupportFragment implements Lo
|
|||
public void onLoadFinished(final Loader<Cursor> loader, final Cursor data) {
|
||||
final Menu menu = mAccountsToggleMenu.getMenu();
|
||||
mAccountActionProvider = (AccountToggleProvider) MenuItemCompat.getActionProvider(menu.findItem(MENU_SELECT_ACCOUNT));
|
||||
mAccountActionProvider.setExclusive(false);
|
||||
final ParcelableAccount[] accounts = ParcelableAccount.getAccounts(data);
|
||||
long defaultId = -1;
|
||||
for (ParcelableAccount account : accounts) {
|
||||
|
@ -255,7 +254,11 @@ public class AccountsDashboardFragment extends BaseSupportFragment implements Lo
|
|||
mAccountsAdapter.setAccounts(accounts);
|
||||
mAccountsAdapter.setSelectedAccountId(mPreferences.getLong(KEY_DEFAULT_ACCOUNT_ID, defaultId));
|
||||
mAccountOptionsAdapter.setSelectedAccount(mAccountsAdapter.getSelectedAccount());
|
||||
mAccountActionProvider.setAccounts(accounts);
|
||||
|
||||
if (mAccountActionProvider != null) {
|
||||
mAccountActionProvider.setExclusive(false);
|
||||
mAccountActionProvider.setAccounts(accounts);
|
||||
}
|
||||
|
||||
initAccountActionsAdapter(accounts);
|
||||
updateAccountOptionsSeparatorLabel(null);
|
||||
|
|
|
@ -12,7 +12,6 @@ import android.content.SharedPreferences;
|
|||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Rect;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
|
|
|
@ -106,11 +106,11 @@ public final class ColorPickerDialogFragment extends BaseSupportDialogFragment i
|
|||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
public static interface Callback extends IDialogFragmentCallback {
|
||||
public interface Callback extends IDialogFragmentCallback {
|
||||
|
||||
public void onColorCleared();
|
||||
void onColorCleared();
|
||||
|
||||
public void onColorSelected(int color);
|
||||
void onColorSelected(int color);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ public final class DataExportImportTypeSelectorDialogFragment extends BaseSuppor
|
|||
positiveButton.setEnabled(getCheckedFlags() != 0);
|
||||
}
|
||||
|
||||
public static interface Callback extends ISupportDialogFragmentCallback {
|
||||
public interface Callback extends ISupportDialogFragmentCallback {
|
||||
void onPositiveButtonClicked(String path, int flags);
|
||||
}
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ import android.content.DialogInterface.OnClickListener;
|
|||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.database.Cursor;
|
||||
import android.graphics.Rect;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
|
|
|
@ -191,7 +191,7 @@ public class FileSelectorDialogFragment extends BaseSupportDialogFragment implem
|
|||
dialog.setTitle(title);
|
||||
}
|
||||
|
||||
public static interface Callback extends ISupportDialogFragmentCallback {
|
||||
public interface Callback extends ISupportDialogFragmentCallback {
|
||||
|
||||
void onFilePicked(File file);
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ import android.content.Intent;
|
|||
import android.content.res.Resources;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Rect;
|
||||
import android.nfc.NdefMessage;
|
||||
import android.nfc.NdefRecord;
|
||||
import android.nfc.NfcAdapter.CreateNdefMessageCallback;
|
||||
|
@ -1102,7 +1101,7 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
|||
private final boolean mIsCompact;
|
||||
private final int mProfileImageStyle;
|
||||
private final int mMediaPreviewStyle;
|
||||
private final int mLinkHighligingStyle;
|
||||
private final int mLinkHighlightingStyle;
|
||||
private final boolean mDisplayMediaPreview;
|
||||
private final boolean mDisplayProfileImage;
|
||||
private final boolean mSensitiveContentEnabled;
|
||||
|
@ -1139,7 +1138,7 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
|||
mTextSize = preferences.getInt(KEY_TEXT_SIZE, res.getInteger(R.integer.default_text_size));
|
||||
mProfileImageStyle = Utils.getProfileImageStyle(preferences.getString(KEY_PROFILE_IMAGE_STYLE, null));
|
||||
mMediaPreviewStyle = Utils.getMediaPreviewStyle(preferences.getString(KEY_MEDIA_PREVIEW_STYLE, null));
|
||||
mLinkHighligingStyle = Utils.getLinkHighlightingStyleInt(preferences.getString(KEY_LINK_HIGHLIGHT_OPTION, null));
|
||||
mLinkHighlightingStyle = Utils.getLinkHighlightingStyleInt(preferences.getString(KEY_LINK_HIGHLIGHT_OPTION, null));
|
||||
mIsCompact = compact;
|
||||
mDisplayProfileImage = preferences.getBoolean(KEY_DISPLAY_PROFILE_IMAGE, true);
|
||||
mDisplayMediaPreview = preferences.getBoolean(KEY_MEDIA_PREVIEW, false);
|
||||
|
@ -1206,7 +1205,7 @@ public class StatusFragment extends BaseSupportFragment implements LoaderCallbac
|
|||
|
||||
@Override
|
||||
public int getLinkHighlightingStyle() {
|
||||
return mLinkHighligingStyle;
|
||||
return mLinkHighlightingStyle;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1077,7 +1077,7 @@ public class UserFragment extends BaseSupportFragment implements OnClickListener
|
|||
mProfileBannerSpace = headerView.findViewById(R.id.profile_banner_space);
|
||||
mViewPager = (ViewPager) contentView.findViewById(R.id.view_pager);
|
||||
mPagerIndicator = (TabPagerIndicator) contentView.findViewById(R.id.view_pager_tabs);
|
||||
mPagerOverlay = (View) contentView.findViewById(R.id.pager_window_overlay);
|
||||
mPagerOverlay = contentView.findViewById(R.id.pager_window_overlay);
|
||||
mFollowButton = (Button) headerView.findViewById(R.id.follow);
|
||||
mFollowProgress = (ProgressBar) headerView.findViewById(R.id.follow_progress);
|
||||
mUuckyFooter = headerView.findViewById(R.id.uucky_footer);
|
||||
|
|
|
@ -165,7 +165,7 @@ public class TileImageLoader extends AsyncTaskLoader<TileImageLoader.Result> {
|
|||
}
|
||||
}
|
||||
|
||||
public static interface DownloadListener {
|
||||
public interface DownloadListener {
|
||||
void onDownloadError(Throwable t);
|
||||
|
||||
void onDownloadFinished();
|
||||
|
|
|
@ -55,13 +55,12 @@ public class UserTimelineLoader extends TwitterAPIStatusesLoader {
|
|||
@NonNull
|
||||
@Override
|
||||
protected ResponseList<Status> getStatuses(@NonNull final Twitter twitter, final Paging paging) throws TwitterException {
|
||||
if (twitter == null) return null;
|
||||
if (mUserId != -1)
|
||||
return twitter.getUserTimeline(mUserId, paging);
|
||||
else if (mUserScreenName != null)
|
||||
return twitter.getUserTimeline(mUserScreenName, paging);
|
||||
else
|
||||
return null;
|
||||
throw new TwitterException("Invalid user");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -173,7 +173,7 @@ public final class CustomTabConfiguration {
|
|||
return new ExtraConfiguration(key, titleRes, Type.BOOLEAN, def);
|
||||
}
|
||||
|
||||
public static enum Type {
|
||||
public enum Type {
|
||||
BOOLEAN
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,6 @@ import android.view.View.OnClickListener;
|
|||
import android.view.ViewGroup;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||
|
|
|
@ -32,69 +32,67 @@ import org.mariotaku.twidere.R;
|
|||
|
||||
public abstract class AsyncTaskPreference extends Preference implements Constants, OnPreferenceClickListener {
|
||||
|
||||
private Task mTask;
|
||||
private Task mTask;
|
||||
|
||||
public AsyncTaskPreference(final Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
public AsyncTaskPreference(final Context context) {
|
||||
this(context, null);
|
||||
}
|
||||
|
||||
public AsyncTaskPreference(final Context context, final AttributeSet attrs) {
|
||||
this(context, attrs, android.R.attr.preferenceStyle);
|
||||
}
|
||||
public AsyncTaskPreference(final Context context, final AttributeSet attrs) {
|
||||
this(context, attrs, android.R.attr.preferenceStyle);
|
||||
}
|
||||
|
||||
public AsyncTaskPreference(final Context context, final AttributeSet attrs, final int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
setOnPreferenceClickListener(this);
|
||||
}
|
||||
public AsyncTaskPreference(final Context context, final AttributeSet attrs, final int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
setOnPreferenceClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final boolean onPreferenceClick(final Preference preference) {
|
||||
if (mTask == null || mTask.getStatus() != Status.RUNNING) {
|
||||
mTask = new Task(this);
|
||||
mTask.execute();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
public final boolean onPreferenceClick(final Preference preference) {
|
||||
if (mTask == null || mTask.getStatus() != Status.RUNNING) {
|
||||
mTask = new Task(this);
|
||||
mTask.execute();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected abstract void doInBackground();
|
||||
protected abstract void doInBackground();
|
||||
|
||||
private static class Task extends AsyncTask<Object, Object, Object> {
|
||||
private static class Task extends AsyncTask<Object, Object, Object> {
|
||||
|
||||
private final AsyncTaskPreference mPreference;
|
||||
private final Context mContext;
|
||||
private final ProgressDialog mProgress;
|
||||
private final AsyncTaskPreference mPreference;
|
||||
private final Context mContext;
|
||||
private final ProgressDialog mProgress;
|
||||
|
||||
public Task(final AsyncTaskPreference preference) {
|
||||
mPreference = preference;
|
||||
mContext = preference.getContext();
|
||||
mProgress = new ProgressDialog(mContext);
|
||||
}
|
||||
public Task(final AsyncTaskPreference preference) {
|
||||
mPreference = preference;
|
||||
mContext = preference.getContext();
|
||||
mProgress = new ProgressDialog(mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object doInBackground(final Object... args) {
|
||||
mPreference.doInBackground();
|
||||
return null;
|
||||
}
|
||||
@Override
|
||||
protected Object doInBackground(final Object... args) {
|
||||
mPreference.doInBackground();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(final Object result) {
|
||||
if (mProgress == null) return;
|
||||
if (mProgress.isShowing()) {
|
||||
mProgress.dismiss();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void onPostExecute(final Object result) {
|
||||
if (mProgress.isShowing()) {
|
||||
mProgress.dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
if (mProgress == null) return;
|
||||
if (mProgress.isShowing()) {
|
||||
mProgress.dismiss();
|
||||
}
|
||||
mProgress.setMessage(mContext.getString(R.string.please_wait));
|
||||
mProgress.setCancelable(false);
|
||||
mProgress.show();
|
||||
}
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
if (mProgress.isShowing()) {
|
||||
mProgress.dismiss();
|
||||
}
|
||||
mProgress.setMessage(mContext.getString(R.string.please_wait));
|
||||
mProgress.setCancelable(false);
|
||||
mProgress.show();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -60,7 +60,9 @@ public class ClearCachePreference extends AsyncTaskPreference {
|
|||
|
||||
private static void deleteRecursive(final File f) {
|
||||
if (f.isDirectory()) {
|
||||
for (final File c : f.listFiles()) {
|
||||
final File[] files = f.listFiles();
|
||||
if (files == null) return;
|
||||
for (final File c : files) {
|
||||
deleteRecursive(c);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -296,7 +296,7 @@ public class RefreshService extends Service implements Constants {
|
|||
}
|
||||
}
|
||||
|
||||
private static interface RefreshableAccountFilter {
|
||||
private interface RefreshableAccountFilter {
|
||||
boolean isRefreshable(AccountPreferences pref);
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ public class ContentListScrollListener extends OnScrollListener {
|
|||
}
|
||||
}
|
||||
|
||||
public static interface ContentListSupport {
|
||||
public interface ContentListSupport {
|
||||
|
||||
Object getAdapter();
|
||||
|
||||
|
|
|
@ -128,14 +128,14 @@ public class CustomTabUtils implements Constants {
|
|||
}
|
||||
|
||||
public static String findTabType(final Class<? extends Fragment> cls) {
|
||||
for (final Entry<String, CustomTabConfiguration> entry : getConfiguraionMap().entrySet()) {
|
||||
for (final Entry<String, CustomTabConfiguration> entry : getConfigurationMap().entrySet()) {
|
||||
if (classEquals(cls, entry.getValue().getFragmentClass())) return entry.getKey();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public static HashMap<String, CustomTabConfiguration> getConfiguraionMap() {
|
||||
public static HashMap<String, CustomTabConfiguration> getConfigurationMap() {
|
||||
return new HashMap<>(CUSTOM_TABS_CONFIGURATION_MAP);
|
||||
}
|
||||
|
||||
|
|
|
@ -183,7 +183,7 @@ public class DataImportExportUtils implements Constants {
|
|||
zos.closeEntry();
|
||||
}
|
||||
|
||||
private static interface ProcessStrategy {
|
||||
private interface ProcessStrategy {
|
||||
boolean importValue(JSONObject json, String key, SharedPreferences.Editor editor);
|
||||
|
||||
boolean exportValue(JSONObject json, String key, SharedPreferences preferences);
|
||||
|
|
|
@ -124,7 +124,7 @@ public class EditTextEnterHandler implements View.OnKeyListener, OnEditorActionL
|
|||
this.listener = listener;
|
||||
}
|
||||
|
||||
public static interface EnterListener {
|
||||
public interface EnterListener {
|
||||
void onHitEnter();
|
||||
}
|
||||
|
||||
|
|
|
@ -25,164 +25,164 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
|
||||
public class Exif {
|
||||
private static final String TAG = "Exif";
|
||||
private static final String TAG = "Exif";
|
||||
|
||||
public static int getOrientation(final File file) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(file);
|
||||
return getOrientation(is);
|
||||
} catch (final IOException e) {
|
||||
return 0;
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
public static int getOrientation(final File file) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(file);
|
||||
return getOrientation(is);
|
||||
} catch (final IOException e) {
|
||||
return 0;
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
|
||||
public static int getOrientation(final FileDescriptor fd) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(fd);
|
||||
return getOrientation(is);
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
public static int getOrientation(final FileDescriptor fd) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(fd);
|
||||
return getOrientation(is);
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
|
||||
public static int getOrientation(final InputStream is) {
|
||||
if (is == null) return 0;
|
||||
public static int getOrientation(final InputStream is) {
|
||||
if (is == null) return 0;
|
||||
|
||||
final byte[] buf = new byte[8];
|
||||
int length = 0;
|
||||
final byte[] buf = new byte[8];
|
||||
int length = 0;
|
||||
|
||||
// ISO/IEC 10918-1:1993(E)
|
||||
while (read(is, buf, 2) && (buf[0] & 0xFF) == 0xFF) {
|
||||
final int marker = buf[1] & 0xFF;
|
||||
// ISO/IEC 10918-1:1993(E)
|
||||
while (read(is, buf, 2) && (buf[0] & 0xFF) == 0xFF) {
|
||||
final int marker = buf[1] & 0xFF;
|
||||
|
||||
// Check if the marker is a padding.
|
||||
if (marker == 0xFF) {
|
||||
continue;
|
||||
}
|
||||
// Check if the marker is a padding.
|
||||
if (marker == 0xFF) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check if the marker is SOI or TEM.
|
||||
if (marker == 0xD8 || marker == 0x01) {
|
||||
continue;
|
||||
}
|
||||
// Check if the marker is EOI or SOS.
|
||||
if (marker == 0xD9 || marker == 0xDA) return 0;
|
||||
// Check if the marker is SOI or TEM.
|
||||
if (marker == 0xD8 || marker == 0x01) {
|
||||
continue;
|
||||
}
|
||||
// Check if the marker is EOI or SOS.
|
||||
if (marker == 0xD9 || marker == 0xDA) return 0;
|
||||
|
||||
// Get the length and check if it is reasonable.
|
||||
if (!read(is, buf, 2)) return 0;
|
||||
length = pack(buf, 0, 2, false);
|
||||
if (length < 2) {
|
||||
Log.e(TAG, "Invalid length");
|
||||
return 0;
|
||||
}
|
||||
length -= 2;
|
||||
// Get the length and check if it is reasonable.
|
||||
if (!read(is, buf, 2)) return 0;
|
||||
length = pack(buf, 0, 2, false);
|
||||
if (length < 2) {
|
||||
Log.e(TAG, "Invalid length");
|
||||
return 0;
|
||||
}
|
||||
length -= 2;
|
||||
|
||||
// Break if the marker is EXIF in APP1.
|
||||
if (marker == 0xE1 && length >= 6) {
|
||||
if (!read(is, buf, 6)) return 0;
|
||||
length -= 6;
|
||||
if (pack(buf, 0, 4, false) == 0x45786966 && pack(buf, 4, 2, false) == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Break if the marker is EXIF in APP1.
|
||||
if (marker == 0xE1 && length >= 6) {
|
||||
if (!read(is, buf, 6)) return 0;
|
||||
length -= 6;
|
||||
if (pack(buf, 0, 4, false) == 0x45786966 && pack(buf, 4, 2, false) == 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Skip other markers.
|
||||
try {
|
||||
is.skip(length);
|
||||
} catch (final IOException ex) {
|
||||
return 0;
|
||||
}
|
||||
length = 0;
|
||||
}
|
||||
// Skip other markers.
|
||||
try {
|
||||
is.skip(length);
|
||||
} catch (final IOException ex) {
|
||||
return 0;
|
||||
}
|
||||
length = 0;
|
||||
}
|
||||
|
||||
// JEITA CP-3451 Exif Version 2.2
|
||||
if (length > 8) {
|
||||
int offset = 0;
|
||||
final byte[] jpeg = new byte[length];
|
||||
if (!read(is, jpeg, length)) return 0;
|
||||
// JEITA CP-3451 Exif Version 2.2
|
||||
if (length > 8) {
|
||||
int offset = 0;
|
||||
final byte[] jpeg = new byte[length];
|
||||
if (!read(is, jpeg, length)) return 0;
|
||||
|
||||
// Identify the byte order.
|
||||
int tag = pack(jpeg, offset, 4, false);
|
||||
if (tag != 0x49492A00 && tag != 0x4D4D002A) {
|
||||
Log.e(TAG, "Invalid byte order");
|
||||
return 0;
|
||||
}
|
||||
final boolean littleEndian = tag == 0x49492A00;
|
||||
// Identify the byte order.
|
||||
int tag = pack(jpeg, offset, 4, false);
|
||||
if (tag != 0x49492A00 && tag != 0x4D4D002A) {
|
||||
Log.e(TAG, "Invalid byte order");
|
||||
return 0;
|
||||
}
|
||||
final boolean littleEndian = tag == 0x49492A00;
|
||||
|
||||
// Get the offset and check if it is reasonable.
|
||||
int count = pack(jpeg, offset + 4, 4, littleEndian) + 2;
|
||||
if (count < 10 || count > length) {
|
||||
Log.e(TAG, "Invalid offset");
|
||||
return 0;
|
||||
}
|
||||
offset += count;
|
||||
length -= count;
|
||||
// Get the offset and check if it is reasonable.
|
||||
int count = pack(jpeg, offset + 4, 4, littleEndian) + 2;
|
||||
if (count < 10 || count > length) {
|
||||
Log.e(TAG, "Invalid offset");
|
||||
return 0;
|
||||
}
|
||||
offset += count;
|
||||
length -= count;
|
||||
|
||||
// Get the count and go through all the elements.
|
||||
count = pack(jpeg, offset - 2, 2, littleEndian);
|
||||
while (count-- > 0 && length >= 12) {
|
||||
// Get the tag and check if it is orientation.
|
||||
tag = pack(jpeg, offset, 2, littleEndian);
|
||||
if (tag == 0x0112) {
|
||||
// We do not really care about type and count, do we?
|
||||
final int orientation = pack(jpeg, offset + 8, 2, littleEndian);
|
||||
switch (orientation) {
|
||||
case 1:
|
||||
return 0;
|
||||
case 3:
|
||||
return 180;
|
||||
case 6:
|
||||
return 90;
|
||||
case 8:
|
||||
return 270;
|
||||
}
|
||||
Log.i(TAG, "Unsupported orientation");
|
||||
return 0;
|
||||
}
|
||||
offset += 12;
|
||||
length -= 12;
|
||||
}
|
||||
}
|
||||
// Get the count and go through all the elements.
|
||||
count = pack(jpeg, offset - 2, 2, littleEndian);
|
||||
while (count-- > 0 && length >= 12) {
|
||||
// Get the tag and check if it is orientation.
|
||||
tag = pack(jpeg, offset, 2, littleEndian);
|
||||
if (tag == 0x0112) {
|
||||
// We do not really care about type and count, do we?
|
||||
final int orientation = pack(jpeg, offset + 8, 2, littleEndian);
|
||||
switch (orientation) {
|
||||
case 1:
|
||||
return 0;
|
||||
case 3:
|
||||
return 180;
|
||||
case 6:
|
||||
return 90;
|
||||
case 8:
|
||||
return 270;
|
||||
}
|
||||
Log.i(TAG, "Unsupported orientation");
|
||||
return 0;
|
||||
}
|
||||
offset += 12;
|
||||
length -= 12;
|
||||
}
|
||||
}
|
||||
|
||||
Log.i(TAG, "Orientation not found");
|
||||
return 0;
|
||||
}
|
||||
Log.i(TAG, "Orientation not found");
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static int getOrientation(final String file) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(file);
|
||||
return getOrientation(is);
|
||||
} catch (final IOException e) {
|
||||
return 0;
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
public static int getOrientation(final String file) {
|
||||
InputStream is = null;
|
||||
try {
|
||||
is = new FileInputStream(file);
|
||||
return getOrientation(is);
|
||||
} catch (final IOException e) {
|
||||
return 0;
|
||||
} finally {
|
||||
Utils.closeSilently(is);
|
||||
}
|
||||
}
|
||||
|
||||
private static int pack(final byte[] bytes, int offset, int length, final boolean littleEndian) {
|
||||
int step = 1;
|
||||
if (littleEndian) {
|
||||
offset += length - 1;
|
||||
step = -1;
|
||||
}
|
||||
private static int pack(final byte[] bytes, int offset, int length, final boolean littleEndian) {
|
||||
int step = 1;
|
||||
if (littleEndian) {
|
||||
offset += length - 1;
|
||||
step = -1;
|
||||
}
|
||||
|
||||
int value = 0;
|
||||
while (length-- > 0) {
|
||||
value = value << 8 | bytes[offset] & 0xFF;
|
||||
offset += step;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
int value = 0;
|
||||
while (length-- > 0) {
|
||||
value = value << 8 | bytes[offset] & 0xFF;
|
||||
offset += step;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
private static boolean read(final InputStream is, final byte[] buf, final int length) {
|
||||
try {
|
||||
return is.read(buf, 0, length) == length;
|
||||
} catch (final IOException ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
private static boolean read(final InputStream is, final byte[] buf, final int length) {
|
||||
try {
|
||||
return is.read(buf, 0, length) == length;
|
||||
} catch (final IOException ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -241,14 +241,14 @@ public class KeyboardShortcutsHandler implements Constants, KeyboardShortcutCons
|
|||
mPreferences.unregisterOnSharedPreferenceChangeListener(listener);
|
||||
}
|
||||
|
||||
public static interface KeyboardShortcutCallback extends KeyboardShortcutConstants {
|
||||
public interface KeyboardShortcutCallback extends KeyboardShortcutConstants {
|
||||
|
||||
boolean handleKeyboardShortcutRepeat(@NonNull KeyboardShortcutsHandler handler, int keyCode, int repeatCount, @NonNull KeyEvent event);
|
||||
|
||||
boolean handleKeyboardShortcutSingle(@NonNull KeyboardShortcutsHandler handler, int keyCode, @NonNull KeyEvent event);
|
||||
}
|
||||
|
||||
public static interface TakeAllKeyboardShortcut {
|
||||
public interface TakeAllKeyboardShortcut {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -72,7 +72,7 @@ public class ListScrollDistanceCalculator implements OnScrollListener {
|
|||
mScrollDistanceListener = listener;
|
||||
}
|
||||
|
||||
public static interface ScrollDistanceListener {
|
||||
public interface ScrollDistanceListener {
|
||||
void onScrollDistanceChanged(int delta, int total);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
package org.mariotaku.twidere.util;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public final class MIUIUtils {
|
||||
|
||||
private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";
|
||||
private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";
|
||||
private static final String KEY_MIUI_INTERNAL_STORAGE = "ro.miui.internal.storage";
|
||||
|
||||
public static boolean isMIUI() {
|
||||
try {
|
||||
final BuildProperties prop = BuildProperties.newInstance();
|
||||
return prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null
|
||||
|| prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null
|
||||
|| prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null;
|
||||
} catch (final IOException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -22,8 +22,6 @@ package org.mariotaku.twidere.util;
|
|||
import android.content.Context;
|
||||
import android.support.v4.app.Fragment;
|
||||
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
|
||||
/**
|
||||
* Created by mariotaku on 15/4/27.
|
||||
*/
|
||||
|
|
|
@ -89,7 +89,7 @@ public class MultiSelectManager implements Constants {
|
|||
mCallbacks.remove(callback);
|
||||
}
|
||||
|
||||
public boolean unselectItem(final Object item) {
|
||||
public boolean deselectItem(final Object item) {
|
||||
return mSelectedItems.remove(item);
|
||||
}
|
||||
|
||||
|
@ -132,13 +132,13 @@ public class MultiSelectManager implements Constants {
|
|||
return TwidereArrayUtils.fromList(ids_list);
|
||||
}
|
||||
|
||||
public static interface Callback {
|
||||
public interface Callback {
|
||||
|
||||
public void onItemsCleared();
|
||||
void onItemsCleared();
|
||||
|
||||
public void onItemSelected(Object item);
|
||||
void onItemSelected(Object item);
|
||||
|
||||
public void onItemUnselected(Object item);
|
||||
void onItemUnselected(Object item);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -101,7 +101,7 @@ public class SQLiteDatabaseWrapper {
|
|||
throw new IllegalStateException("Callback must not return null instance!");
|
||||
}
|
||||
|
||||
public static interface LazyLoadCallback {
|
||||
public interface LazyLoadCallback {
|
||||
SQLiteDatabase onCreateSQLiteDatabase();
|
||||
}
|
||||
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
package org.mariotaku.twidere.util;
|
||||
|
||||
import android.os.SystemClock;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
|
|
@ -127,6 +127,7 @@ public class TwidereActionModeForChildListener implements NativeActionModeAwareL
|
|||
mThemed.getCurrentThemeBackgroundOption(), false);
|
||||
mActionModePopup.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
|
||||
mShowActionModePopup = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
mActionModePopup.showAtLocation(
|
||||
mWindow.getDecorView(),
|
||||
|
|
|
@ -336,12 +336,12 @@ public final class TwidereLinkify implements Constants {
|
|||
@IntDef({VALUE_LINK_HIGHLIGHT_OPTION_CODE_NONE, VALUE_LINK_HIGHLIGHT_OPTION_CODE_HIGHLIGHT,
|
||||
VALUE_LINK_HIGHLIGHT_OPTION_CODE_UNDERLINE, VALUE_LINK_HIGHLIGHT_OPTION_CODE_BOTH})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public static @interface HighlightStyle {
|
||||
public @interface HighlightStyle {
|
||||
|
||||
}
|
||||
|
||||
public interface OnLinkClickListener {
|
||||
public void onLinkClick(String link, String orig, long accountId, long extraId, int type,
|
||||
boolean sensitive, int start, int end);
|
||||
void onLinkClick(String link, String orig, long accountId, long extraId, int type,
|
||||
boolean sensitive, int start, int end);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -160,11 +160,11 @@ public class UserColorNameManager implements TwidereConstants {
|
|||
return mNicknamePreferences.getAll().entrySet();
|
||||
}
|
||||
|
||||
public static interface OnUserColorChangedListener {
|
||||
public interface OnUserColorChangedListener {
|
||||
void onUserColorChanged(long userId, int color);
|
||||
}
|
||||
|
||||
public static interface OnUserNicknameChangedListener {
|
||||
public interface OnUserNicknameChangedListener {
|
||||
void onUserNicknameChanged(long userId, String nick);
|
||||
}
|
||||
|
||||
|
|
|
@ -76,6 +76,7 @@ import android.support.v4.app.ListFragment;
|
|||
import android.support.v4.util.LongSparseArray;
|
||||
import android.support.v4.util.Pair;
|
||||
import android.support.v4.view.ActionProvider;
|
||||
import android.support.v4.view.GravityCompat;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v4.view.accessibility.AccessibilityEventCompat;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -546,8 +547,8 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
return builder.build();
|
||||
}
|
||||
|
||||
public static Expression buildStatusFilterWhereClause(final String table, final Expression extraSelection) {
|
||||
if (table == null) return null;
|
||||
@NonNull
|
||||
public static Expression buildStatusFilterWhereClause(@NonNull final String table, final Expression extraSelection) {
|
||||
final SQLSelectQuery filteredUsersQuery = SQLQueryBuilder
|
||||
.select(new Column(new Table(Filters.Users.TABLE_NAME), Filters.Users.USER_ID))
|
||||
.from(new Tables(Filters.Users.TABLE_NAME))
|
||||
|
@ -1470,11 +1471,13 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
}
|
||||
}
|
||||
|
||||
public static int getAllStatusesCount(final Context context, final Uri uri) {
|
||||
public static int getAllStatusesCount(final Context context, @NonNull final Uri uri) {
|
||||
if (context == null) return 0;
|
||||
final ContentResolver resolver = context.getContentResolver();
|
||||
final String table = getTableNameByUri(uri);
|
||||
if (table == null) return 0;
|
||||
final Cursor cur = ContentResolverUtils.query(resolver, uri, new String[]{Statuses.STATUS_ID},
|
||||
buildStatusFilterWhereClause(getTableNameByUri(uri), null).getSQL(),
|
||||
buildStatusFilterWhereClause(table, null).getSQL(),
|
||||
null, null);
|
||||
if (cur == null) return 0;
|
||||
try {
|
||||
|
@ -1512,11 +1515,14 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
return 0;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public static long[] getAllStatusesIds(final Context context, final Uri uri) {
|
||||
if (context == null) return new long[0];
|
||||
final ContentResolver resolver = context.getContentResolver();
|
||||
final String table = getTableNameByUri(uri);
|
||||
if (table == null) return new long[0];
|
||||
final Cursor cur = ContentResolverUtils.query(resolver, uri, new String[]{Statuses.STATUS_ID},
|
||||
buildStatusFilterWhereClause(getTableNameByUri(uri), null).getSQL(),
|
||||
buildStatusFilterWhereClause(table, null).getSQL(),
|
||||
null, null);
|
||||
if (cur == null) return new long[0];
|
||||
final long[] ids = new long[cur.getCount()];
|
||||
|
@ -2279,11 +2285,11 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
}
|
||||
|
||||
public static int getTabDisplayOptionInt(final String option) {
|
||||
if (VALUE_TAB_DIPLAY_OPTION_ICON.equals(option))
|
||||
return VALUE_TAB_DIPLAY_OPTION_CODE_ICON;
|
||||
else if (VALUE_TAB_DIPLAY_OPTION_LABEL.equals(option))
|
||||
return VALUE_TAB_DIPLAY_OPTION_CODE_LABEL;
|
||||
return VALUE_TAB_DIPLAY_OPTION_CODE_BOTH;
|
||||
if (VALUE_TAB_DISPLAY_OPTION_ICON.equals(option))
|
||||
return VALUE_TAB_DISPLAY_OPTION_CODE_ICON;
|
||||
else if (VALUE_TAB_DISPLAY_OPTION_LABEL.equals(option))
|
||||
return VALUE_TAB_DISPLAY_OPTION_CODE_LABEL;
|
||||
return VALUE_TAB_DISPLAY_OPTION_CODE_BOTH;
|
||||
}
|
||||
|
||||
public static int getTableId(final Uri uri) {
|
||||
|
@ -3779,7 +3785,7 @@ public final class Utils implements Constants, TwitterConstants {
|
|||
cheatSheet.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, height);
|
||||
} else {
|
||||
// Show along the top; follow action buttons
|
||||
cheatSheet.setGravity(Gravity.TOP | Gravity.RIGHT, screenWidth - screenPos[0] - width / 2, height);
|
||||
cheatSheet.setGravity(Gravity.TOP | GravityCompat.END, screenWidth - screenPos[0] - width / 2, height);
|
||||
}
|
||||
cheatSheet.show();
|
||||
}
|
||||
|
|
|
@ -72,13 +72,13 @@ public final class DatabaseUpgradeHelper {
|
|||
if (strictMode) {
|
||||
final String oldCreate = getCreateSQL(db, table);
|
||||
final Map<String, String> map = getTypeMapByCreateQuery(oldCreate);
|
||||
boolean differenct = false;
|
||||
boolean different = false;
|
||||
for (final NewColumn newCol : newCols) {
|
||||
if (!newCol.getType().equalsIgnoreCase(map.get(newCol.getName()))) {
|
||||
differenct = true;
|
||||
different = true;
|
||||
}
|
||||
}
|
||||
if (!differenct) return;
|
||||
if (!different) return;
|
||||
} else if (oldCols == null || TwidereArrayUtils.contentMatch(newColNames, oldCols)) return;
|
||||
if (dropDirectly) {
|
||||
db.beginTransaction();
|
||||
|
|
|
@ -27,7 +27,6 @@ import android.util.Log;
|
|||
import org.apache.http.conn.util.InetAddressUtils;
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.util.HostsFileParser;
|
||||
import org.mariotaku.twidere.util.UriUtils;
|
||||
import org.mariotaku.twidere.util.Utils;
|
||||
import org.xbill.DNS.AAAARecord;
|
||||
import org.xbill.DNS.ARecord;
|
||||
|
|
|
@ -302,7 +302,7 @@ public class CardMediaContainer extends ViewGroup implements Constants {
|
|||
|
||||
@IntDef({VALUE_MEDIA_PREVIEW_STYLE_CODE_SCALE, VALUE_MEDIA_PREVIEW_STYLE_CODE_CROP})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public static @interface PreviewStyle {
|
||||
public @interface PreviewStyle {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -75,13 +75,13 @@ public class ColorLabelFrameLayout extends FrameLayout implements IColorLabelVie
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean isPaddingsIgnored() {
|
||||
return mHelper.isPaddingsIgnored();
|
||||
public boolean isPaddingIgnored() {
|
||||
return mHelper.isPaddingIgnored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIgnorePaddings(final boolean ignorePaddings) {
|
||||
mHelper.setIgnorePaddings(ignorePaddings);
|
||||
public void setIgnorePadding(final boolean ignorePadding) {
|
||||
mHelper.setIgnorePadding(ignorePadding);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -75,13 +75,13 @@ public class ColorLabelLinearLayout extends LinearLayout implements IColorLabelV
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean isPaddingsIgnored() {
|
||||
return mHelper.isPaddingsIgnored();
|
||||
public boolean isPaddingIgnored() {
|
||||
return mHelper.isPaddingIgnored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIgnorePaddings(final boolean ignorePaddings) {
|
||||
mHelper.setIgnorePaddings(ignorePaddings);
|
||||
public void setIgnorePadding(final boolean ignorePadding) {
|
||||
mHelper.setIgnorePadding(ignorePadding);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -75,13 +75,13 @@ public class ColorLabelRelativeLayout extends RelativeLayout implements IColorLa
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean isPaddingsIgnored() {
|
||||
return mHelper.isPaddingsIgnored();
|
||||
public boolean isPaddingIgnored() {
|
||||
return mHelper.isPaddingIgnored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIgnorePaddings(final boolean ignorePaddings) {
|
||||
mHelper.setIgnorePaddings(ignorePaddings);
|
||||
public void setIgnorePadding(final boolean ignorePadding) {
|
||||
mHelper.setIgnorePadding(ignorePadding);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -291,7 +291,7 @@ public class HeaderDrawerLayout extends ViewGroup {
|
|||
private void updateViewOffset() {
|
||||
}
|
||||
|
||||
public static interface DrawerCallback {
|
||||
public interface DrawerCallback {
|
||||
|
||||
boolean canScroll(float dy);
|
||||
|
||||
|
|
|
@ -41,7 +41,6 @@ import android.widget.ProgressBar;
|
|||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.activity.iface.IThemedActivity;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
import org.mariotaku.twidere.util.TwidereColorUtils;
|
||||
import org.mariotaku.twidere.util.support.ViewSupport;
|
||||
import org.mariotaku.twidere.view.iface.IHomeActionButton;
|
||||
|
||||
|
|
|
@ -125,6 +125,7 @@ public class LinePageIndicator extends View implements PagerIndicator {
|
|||
return mPaintSelected.getStrokeWidth();
|
||||
}
|
||||
|
||||
@SuppressWarnings("SuspiciousNameCombination")
|
||||
public void setStrokeWidth(final float lineHeight) {
|
||||
mPaintSelected.setStrokeWidth(lineHeight);
|
||||
mPaintUnselected.setStrokeWidth(lineHeight);
|
||||
|
|
|
@ -47,6 +47,7 @@ public class ProfileBannerSpace extends View {
|
|||
public void draw(@NonNull final Canvas canvas) {
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
protected boolean fitSystemWindows(@NonNull Rect insets) {
|
||||
mSystemWindowsInsets.set(insets);
|
||||
|
|
|
@ -24,7 +24,6 @@ import android.content.res.TypedArray;
|
|||
import android.graphics.Color;
|
||||
import android.support.v7.widget.AppCompatTextView;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
import org.mariotaku.twidere.util.TwidereValidator;
|
||||
|
|
|
@ -22,6 +22,7 @@ import android.widget.ImageView;
|
|||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.R;
|
||||
import org.mariotaku.twidere.adapter.decorator.DividerItemDecoration;
|
||||
import org.mariotaku.twidere.util.ThemeUtils;
|
||||
|
@ -33,11 +34,11 @@ import java.lang.annotation.RetentionPolicy;
|
|||
/**
|
||||
* Created by mariotaku on 14/10/21.
|
||||
*/
|
||||
public class TabPagerIndicator extends RecyclerView implements PagerIndicator {
|
||||
public class TabPagerIndicator extends RecyclerView implements PagerIndicator, Constants {
|
||||
|
||||
public static final int ICON = 0x1;
|
||||
public static final int LABEL = 0x2;
|
||||
public static final int BOTH = ICON | LABEL;
|
||||
public static final int LABEL = VALUE_TAB_DISPLAY_OPTION_CODE_LABEL;
|
||||
public static final int ICON = VALUE_TAB_DISPLAY_OPTION_CODE_ICON;
|
||||
public static final int BOTH = VALUE_TAB_DISPLAY_OPTION_CODE_BOTH;
|
||||
|
||||
private final int mStripHeight;
|
||||
private final TabPagerIndicatorAdapter mIndicatorAdapter;
|
||||
|
|
|
@ -657,7 +657,7 @@ public class StatusViewHolder extends ViewHolder implements Constants, OnClickLi
|
|||
return false;
|
||||
}
|
||||
|
||||
public static interface StatusClickListener extends ContentCardClickListener {
|
||||
public interface StatusClickListener extends ContentCardClickListener {
|
||||
|
||||
void onMediaClick(StatusViewHolder holder, View view, ParcelableMedia media, int position);
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ public class UserListViewHolder extends ViewHolder implements View.OnClickListen
|
|||
}
|
||||
|
||||
|
||||
public static interface UserListClickListener extends ContentCardClickListener {
|
||||
public interface UserListClickListener extends ContentCardClickListener {
|
||||
|
||||
void onUserListClick(UserListViewHolder holder, int position);
|
||||
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
package org.mariotaku.twidere.view.holder;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.RecyclerView.ViewHolder;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
@ -161,7 +160,7 @@ public class UserViewHolder extends ViewHolder implements OnClickListener, OnLon
|
|||
profileImageView.setStyle(adapter.getProfileImageStyle());
|
||||
}
|
||||
|
||||
public static interface UserClickListener extends ContentCardClickListener {
|
||||
public interface UserClickListener extends ContentCardClickListener {
|
||||
|
||||
void onUserClick(UserViewHolder holder, int position);
|
||||
|
||||
|
|
|
@ -47,13 +47,13 @@ public interface IColorLabelView {
|
|||
|
||||
void drawTop(final int... colors);
|
||||
|
||||
boolean isPaddingsIgnored();
|
||||
boolean isPaddingIgnored();
|
||||
|
||||
void setIgnorePaddings(final boolean ignorePaddings);
|
||||
void setIgnorePadding(final boolean ignorePadding);
|
||||
|
||||
void setVisibility(int visibility);
|
||||
|
||||
public static final class Helper {
|
||||
final class Helper {
|
||||
|
||||
private final View mView;
|
||||
|
||||
|
@ -88,6 +88,7 @@ public interface IColorLabelView {
|
|||
canvas.drawRect(left, top, right, bottom, mPaint);
|
||||
}
|
||||
|
||||
@SuppressWarnings("SuspiciousNameCombination")
|
||||
public void dispatchDrawLabels(final Canvas canvas) {
|
||||
final int left = mIgnorePadding ? 0 : mView.getPaddingLeft();
|
||||
final int top = mIgnorePadding ? 0 : mView.getPaddingTop();
|
||||
|
@ -132,12 +133,12 @@ public interface IColorLabelView {
|
|||
drawLabel(mStartColors, mEndColors, colors, mBottomColors, mBackgroundColor);
|
||||
}
|
||||
|
||||
public boolean isPaddingsIgnored() {
|
||||
public boolean isPaddingIgnored() {
|
||||
return mIgnorePadding;
|
||||
}
|
||||
|
||||
public void setIgnorePaddings(final boolean ignorePaddings) {
|
||||
mIgnorePadding = ignorePaddings;
|
||||
public void setIgnorePadding(final boolean ignorePadding) {
|
||||
mIgnorePadding = ignorePadding;
|
||||
mView.invalidate();
|
||||
}
|
||||
|
||||
|
|
|
@ -25,21 +25,21 @@ import android.view.View;
|
|||
|
||||
public interface IExtendedView {
|
||||
|
||||
public void setOnFitSystemWindowsListener(final OnFitSystemWindowsListener listener);
|
||||
void setOnFitSystemWindowsListener(final OnFitSystemWindowsListener listener);
|
||||
|
||||
public void setOnSizeChangedListener(final OnSizeChangedListener listener);
|
||||
void setOnSizeChangedListener(final OnSizeChangedListener listener);
|
||||
|
||||
public void setTouchInterceptor(final TouchInterceptor listener);
|
||||
void setTouchInterceptor(final TouchInterceptor listener);
|
||||
|
||||
public static interface OnFitSystemWindowsListener {
|
||||
interface OnFitSystemWindowsListener {
|
||||
void onFitSystemWindows(Rect insets);
|
||||
}
|
||||
|
||||
public static interface OnSizeChangedListener {
|
||||
interface OnSizeChangedListener {
|
||||
void onSizeChanged(View view, int w, int h, int oldw, int oldh);
|
||||
}
|
||||
|
||||
public static interface TouchInterceptor {
|
||||
interface TouchInterceptor {
|
||||
|
||||
boolean dispatchTouchEvent(View view, MotionEvent event);
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ public interface IForegroundView {
|
|||
*
|
||||
* @return A Drawable or null if no foreground was set.
|
||||
*/
|
||||
public Drawable getForeground();
|
||||
Drawable getForeground();
|
||||
|
||||
/**
|
||||
* Supply a Drawable that is to be rendered on top of all of the child views
|
||||
|
@ -50,7 +50,7 @@ public interface IForegroundView {
|
|||
* @param drawable The Drawable to be drawn on top of the children.
|
||||
* @attr ref android.R.attr#foreground
|
||||
*/
|
||||
public void setForeground(final Drawable drawable);
|
||||
void setForeground(final Drawable drawable);
|
||||
|
||||
/**
|
||||
* Describes how the foreground is positioned. Defaults to START and TOP.
|
||||
|
@ -58,9 +58,9 @@ public interface IForegroundView {
|
|||
* @param foregroundGravity See {@link android.view.Gravity}
|
||||
* @attr ref android.R.attr#foregroundGravity
|
||||
*/
|
||||
public void setForegroundGravity(int foregroundGravity);
|
||||
void setForegroundGravity(int foregroundGravity);
|
||||
|
||||
public static class ForegroundViewHelper {
|
||||
class ForegroundViewHelper {
|
||||
|
||||
private final View mView;
|
||||
|
||||
|
|
|
@ -27,6 +27,6 @@ import android.support.annotation.NonNull;
|
|||
*/
|
||||
public interface IThemeAccentView {
|
||||
|
||||
public void setAccentTintColor(@NonNull ColorStateList color);
|
||||
void setAccentTintColor(@NonNull ColorStateList color);
|
||||
|
||||
}
|
||||
|
|
|
@ -27,6 +27,6 @@ import android.support.annotation.NonNull;
|
|||
*/
|
||||
public interface IThemeBackgroundTintView {
|
||||
|
||||
public void setBackgroundTintColor(@NonNull ColorStateList color);
|
||||
void setBackgroundTintColor(@NonNull ColorStateList color);
|
||||
|
||||
}
|
||||
|
|
|
@ -69,11 +69,11 @@ public interface PagerIndicator extends ViewPager.OnPageChangeListener {
|
|||
|
||||
interface TabListener {
|
||||
|
||||
public void onPageReselected(int position);
|
||||
void onPageReselected(int position);
|
||||
|
||||
public void onPageSelected(int position);
|
||||
void onPageSelected(int position);
|
||||
|
||||
public boolean onTabLongClick(int position);
|
||||
boolean onTabLongClick(int position);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,7 +81,7 @@ public interface PagerIndicator extends ViewPager.OnPageChangeListener {
|
|||
*/
|
||||
interface TabProvider {
|
||||
|
||||
public int getCount();
|
||||
int getCount();
|
||||
|
||||
/**
|
||||
* Returns the icon of the view at position
|
||||
|
@ -89,7 +89,7 @@ public interface PagerIndicator extends ViewPager.OnPageChangeListener {
|
|||
* @param position
|
||||
* @return
|
||||
*/
|
||||
public Drawable getPageIcon(int position);
|
||||
Drawable getPageIcon(int position);
|
||||
|
||||
/**
|
||||
* Returns the title of the view at position
|
||||
|
@ -97,8 +97,8 @@ public interface PagerIndicator extends ViewPager.OnPageChangeListener {
|
|||
* @param position
|
||||
* @return
|
||||
*/
|
||||
public CharSequence getPageTitle(int position);
|
||||
CharSequence getPageTitle(int position);
|
||||
|
||||
public float getPageWidth(int position);
|
||||
float getPageWidth(int position);
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -50,7 +48,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/element_spacing_normal"
|
||||
tools:listitem="@layout/spinner_item_custom_tab_icon"/>
|
||||
tools:listitem="@layout/spinner_item_custom_tab_icon" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -62,9 +60,12 @@
|
|||
android:id="@+id/tab_type_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tab_name"
|
||||
|
@ -72,7 +73,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:hint="@string/name"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"/>
|
||||
android:textAppearance="?android:attr/textAppearanceMedium" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -86,14 +87,14 @@
|
|||
style="?android:listSeparatorTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/account"/>
|
||||
android:text="@string/account" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/account_spinner"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/element_spacing_normal"
|
||||
tools:listitem="@layout/list_item_two_line_small"/>
|
||||
tools:listitem="@layout/list_item_two_line_small" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -107,7 +108,7 @@
|
|||
style="?android:listSeparatorTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/user"/>
|
||||
android:text="@string/user" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/secondary_field"
|
||||
|
@ -118,7 +119,7 @@
|
|||
android:onClick="onClick"
|
||||
android:padding="@dimen/element_spacing_normal">
|
||||
|
||||
<include layout="@layout/list_item_two_line_small"/>
|
||||
<include layout="@layout/list_item_two_line_small" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -133,7 +134,7 @@
|
|||
style="?android:listSeparatorTextViewStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/extra_configurations"/>
|
||||
android:text="@string/extra_configurations" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/extra_configurations_content"
|
||||
|
@ -142,7 +143,7 @@
|
|||
android:divider="@android:color/darker_gray"
|
||||
android:dividerPadding="0.4dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/element_spacing_normal"/>
|
||||
android:padding="@dimen/element_spacing_normal" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
@ -156,6 +157,6 @@
|
|||
android:layout_weight="0"
|
||||
android:gravity="center"
|
||||
android:onClick="onClick"
|
||||
android:text="@android:string/ok"/>
|
||||
android:text="@android:string/ok" />
|
||||
|
||||
</LinearLayout>
|
|
@ -18,11 +18,14 @@
|
|||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:divider="?android:attr/dividerHorizontal"
|
||||
android:dividerPadding="0dip"
|
||||
android:orientation="vertical"
|
||||
android:showDividers="middle">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/keyboard_shortcut_input"
|
||||
|
@ -38,69 +41,59 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/keyboard_shortcut_hint"
|
||||
android:textAppearance="?android:textAppearanceMedium"/>
|
||||
android:textAppearance="?android:textAppearanceMedium" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/conflict_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/buttonPanel"
|
||||
style="?android:attr/buttonBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:divider="?android:attr/dividerHorizontal"
|
||||
android:dividerPadding="0dip"
|
||||
android:measureWithLargestChild="true"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:orientation="vertical"
|
||||
android:showDividers="beginning">
|
||||
android:orientation="horizontal"
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
<LinearLayout
|
||||
style="?android:attr/buttonBarStyle"
|
||||
android:layout_width="match_parent"
|
||||
<Button
|
||||
android:id="@+id/button_negative"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layoutDirection="locale"
|
||||
android:measureWithLargestChild="true"
|
||||
android:orientation="horizontal">
|
||||
android:layout_gravity="start"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@android:string/cancel"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_negative"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@android:string/cancel"
|
||||
android:textSize="14sp"/>
|
||||
<Button
|
||||
android:id="@+id/button_neutral"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@string/clear"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_neutral"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@string/clear"
|
||||
android:textSize="14sp"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_positive"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@android:string/ok"
|
||||
android:textSize="14sp"/>
|
||||
</LinearLayout>
|
||||
<Button
|
||||
android:id="@+id/button_positive"
|
||||
style="?android:attr/buttonBarButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_weight="1"
|
||||
android:maxLines="2"
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:text="@android:string/ok"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -28,8 +28,10 @@
|
|||
<android.support.v7.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
app:cardBackgroundColor="?cardItemBackgroundColor"
|
||||
app:cardCornerRadius="2dp"
|
||||
|
|
|
@ -20,16 +20,18 @@
|
|||
-->
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:inputType="text"
|
||||
android:minLines="10"
|
||||
android:singleLine="false"/>
|
||||
android:singleLine="false" />
|
||||
|
||||
</RelativeLayout>
|
|
@ -39,6 +39,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/element_spacing_msmall"
|
||||
android:layout_marginStart="@dimen/element_spacing_msmall"
|
||||
app:cardBackgroundColor="?android:colorBackground"
|
||||
app:cardElevation="@dimen/elevation_card"
|
||||
app:contentPadding="@dimen/element_spacing_msmall">
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -43,7 +41,7 @@
|
|||
android:id="@+id/media_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:scaleType="centerCrop"/>
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/media_image_progress"
|
||||
|
@ -51,7 +49,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="@dimen/element_spacing_small"/>
|
||||
android:layout_margin="@dimen/element_spacing_small" />
|
||||
</FrameLayout>
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelRelativeLayout
|
||||
|
@ -64,7 +62,7 @@
|
|||
android:id="@+id/media_profile_image"
|
||||
style="?profileImageStyle"
|
||||
android:layout_width="@dimen/element_size_small"
|
||||
android:layout_height="@dimen/element_size_small"/>
|
||||
android:layout_height="@dimen/element_size_small" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/media_text"
|
||||
|
@ -72,8 +70,10 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@+id/media_profile_image"
|
||||
android:layout_marginLeft="@dimen/element_spacing_small"
|
||||
android:layout_marginStart="@dimen/element_spacing_small"
|
||||
android:layout_toEndOf="@+id/media_profile_image"
|
||||
android:layout_toRightOf="@+id/media_profile_image"
|
||||
android:ellipsize="end"/>
|
||||
android:ellipsize="end" />
|
||||
</org.mariotaku.twidere.view.ColorLabelRelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -17,11 +16,10 @@
|
|||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/card"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/element_spacing_small"
|
||||
|
@ -44,16 +42,19 @@
|
|||
android:id="@+id/activity_type"
|
||||
android:layout_width="@dimen/icon_size_activity_type"
|
||||
android:layout_height="@dimen/icon_size_activity_type"
|
||||
android:layout_alignEnd="@+id/profile_image_space"
|
||||
android:layout_alignRight="@+id/profile_image_space"
|
||||
android:layout_alignTop="@+id/profile_images_container"
|
||||
android:scaleType="centerInside"
|
||||
tools:src="@drawable/ic_indicator_retweet"/>
|
||||
tools:src="@drawable/ic_indicator_retweet" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/profile_images_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:layout_toEndOf="@+id/profile_image_space"
|
||||
android:layout_toRightOf="@+id/profile_image_space"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
@ -64,7 +65,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.SquareShapedImageView
|
||||
android:id="@+id/activity_profile_image_1"
|
||||
|
@ -72,7 +73,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.SquareShapedImageView
|
||||
android:id="@+id/activity_profile_image_2"
|
||||
|
@ -80,7 +81,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.SquareShapedImageView
|
||||
android:id="@+id/activity_profile_image_3"
|
||||
|
@ -88,7 +89,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.SquareShapedImageView
|
||||
android:id="@+id/activity_profile_image_4"
|
||||
|
@ -96,7 +97,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/activity_profile_image_more_number"
|
||||
|
@ -110,7 +111,7 @@
|
|||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="11"/>
|
||||
tools:text="11" />
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
|
@ -118,30 +119,32 @@
|
|||
android:layout_width="@dimen/icon_size_status_profile_image"
|
||||
android:layout_height="0dp"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_below="@+id/profile_images_container"/>
|
||||
android:layout_below="@+id/profile_images_container" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/profile_images_container"
|
||||
android:layout_alignStart="@+id/profile_images_container"
|
||||
android:layout_below="@+id/profile_images_container"
|
||||
android:singleLine="false"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="Uucky and 15 others favorited your tweet."/>
|
||||
tools:text="Uucky and 15 others favorited your tweet." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/summary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/profile_images_container"
|
||||
android:layout_alignStart="@+id/profile_images_container"
|
||||
android:layout_below="@+id/title"
|
||||
android:singleLine="false"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
tools:text="@string/sample_status_text"
|
||||
tools:textSize="12sp"/>
|
||||
tools:textSize="12sp" />
|
||||
|
||||
</RelativeLayout>
|
||||
</android.support.v7.widget.CardView>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,10 +17,9 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/item_content"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/item_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?selectableItemBackground"
|
||||
|
@ -32,16 +30,19 @@
|
|||
android:id="@+id/activity_type"
|
||||
android:layout_width="@dimen/icon_size_activity_type"
|
||||
android:layout_height="@dimen/icon_size_activity_type"
|
||||
android:layout_alignEnd="@+id/profile_image_space"
|
||||
android:layout_alignRight="@+id/profile_image_space"
|
||||
android:layout_alignTop="@+id/profile_images_container"
|
||||
android:scaleType="centerInside"
|
||||
tools:src="@drawable/ic_indicator_retweet"/>
|
||||
tools:src="@drawable/ic_indicator_retweet" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/profile_images_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:layout_toEndOf="@+id/profile_image_space"
|
||||
android:layout_toRightOf="@+id/profile_image_space"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
@ -52,7 +53,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
android:id="@+id/activity_profile_image_1"
|
||||
|
@ -60,7 +61,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
android:id="@+id/activity_profile_image_2"
|
||||
|
@ -68,7 +69,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
android:id="@+id/activity_profile_image_3"
|
||||
|
@ -76,7 +77,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
android:id="@+id/activity_profile_image_4"
|
||||
|
@ -84,7 +85,7 @@
|
|||
android:layout_width="@dimen/profile_image_size_activity_small"
|
||||
android:layout_height="@dimen/profile_image_size_activity_small"
|
||||
android:layout_margin="2dp"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/activity_profile_image_more_number"
|
||||
|
@ -98,7 +99,7 @@
|
|||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="11"/>
|
||||
tools:text="11" />
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
|
@ -106,29 +107,31 @@
|
|||
android:layout_width="@dimen/icon_size_status_profile_image"
|
||||
android:layout_height="0dp"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_below="@+id/profile_images_container"/>
|
||||
android:layout_below="@+id/profile_images_container" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/profile_images_container"
|
||||
android:layout_alignStart="@+id/profile_images_container"
|
||||
android:layout_below="@+id/profile_images_container"
|
||||
android:singleLine="false"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="Uucky and 15 others favorited your tweet."/>
|
||||
tools:text="Uucky and 15 others favorited your tweet." />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/summary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/profile_images_container"
|
||||
android:layout_alignStart="@+id/profile_images_container"
|
||||
android:layout_below="@+id/title"
|
||||
android:singleLine="false"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:textSize="12dp"
|
||||
tools:text="@string/sample_status_text"/>
|
||||
tools:text="@string/sample_status_text"
|
||||
tools:textSize="@dimen/text_size_extra_small" />
|
||||
|
||||
</RelativeLayout>
|
|
@ -34,7 +34,8 @@
|
|||
android:id="@+id/message_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left"
|
||||
android:layout_gravity="start"
|
||||
android:layout_toEndOf="@+id/profile_image"
|
||||
android:layout_toRightOf="@+id/profile_image"
|
||||
android:clickable="true"
|
||||
app:bubbleColor="?colorAccent"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2015 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -29,7 +27,7 @@
|
|||
android:id="@+id/message_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right"
|
||||
android:layout_gravity="end"
|
||||
android:clickable="true"
|
||||
app:bubbleColor="?messageBubbleColor"
|
||||
app:caretHeight="8dp"
|
||||
|
@ -37,7 +35,7 @@
|
|||
app:caretWidth="8dp"
|
||||
app:cornerRadius="2dp">
|
||||
|
||||
<include layout="@layout/card_item_message_conversation_common"/>
|
||||
<include layout="@layout/card_item_message_conversation_common" />
|
||||
</org.mariotaku.messagebubbleview.library.MessageBubbleView>
|
||||
|
||||
</FrameLayout>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,11 +17,10 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/card"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/element_spacing_small"
|
||||
|
@ -30,9 +28,9 @@
|
|||
android:layout_marginRight="@dimen/element_spacing_normal"
|
||||
android:layout_marginTop="@dimen/element_spacing_small"
|
||||
app:cardBackgroundColor="?cardItemBackgroundColor"
|
||||
tools:context=".adapter.ParcelableUsersAdapter"
|
||||
app:cardCornerRadius="2dp"
|
||||
app:cardElevation="2dp">
|
||||
app:cardElevation="2dp"
|
||||
tools:context=".adapter.ParcelableUsersAdapter">
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelLinearLayout
|
||||
android:id="@+id/item_content"
|
||||
|
@ -52,8 +50,10 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/element_spacing_normal"
|
||||
android:paddingEnd="@dimen/element_spacing_xlarge"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_xlarge"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal">
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
|
@ -63,27 +63,33 @@
|
|||
android:layout_height="@dimen/icon_size_card_list_item"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/profile_image"
|
||||
android:scaleType="fitCenter"/>
|
||||
android:scaleType="fitCenter" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/profile_type"
|
||||
android:layout_width="@dimen/icon_size_profile_type"
|
||||
android:layout_height="@dimen/icon_size_profile_type"
|
||||
android:layout_alignBottom="@id/profile_image"
|
||||
android:layout_alignEnd="@id/profile_image"
|
||||
android:layout_alignRight="@id/profile_image"
|
||||
android:layout_marginBottom="@dimen/element_spacing_minus_small"
|
||||
android:layout_marginEnd="@dimen/element_spacing_minus_normal"
|
||||
android:layout_marginRight="@dimen/element_spacing_minus_normal"
|
||||
android:scaleType="centerInside"
|
||||
tools:ignore="ContentDescription"/>
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toEndOf="@+id/profile_image"
|
||||
android:layout_toRightOf="@+id/profile_image"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="8dp">
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingStart="8dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
|
@ -93,7 +99,7 @@
|
|||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="Name"/>
|
||||
tools:text="Name" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/screen_name"
|
||||
|
@ -102,7 +108,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
tools:text="\@username"/>
|
||||
tools:text="\@username" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
@ -112,7 +118,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:padding="8dp"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"/>
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
|
||||
<org.mariotaku.twidere.view.ActionIconThemedTextView
|
||||
android:id="@+id/location"
|
||||
|
@ -120,9 +126,10 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:drawableLeft="@drawable/ic_indicator_location"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_location"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<org.mariotaku.twidere.view.ActionIconThemedTextView
|
||||
android:id="@+id/url"
|
||||
|
@ -130,9 +137,10 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:drawableLeft="@drawable/ic_indicator_link"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_link"
|
||||
android:padding="8dp"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -147,8 +155,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_twitter"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_twitter"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/followers_count"
|
||||
|
@ -157,8 +166,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_followers"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_followers"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/friends_count"
|
||||
|
@ -167,8 +177,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_following"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_following"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
</LinearLayout>
|
||||
|
||||
</org.mariotaku.twidere.view.ColorLabelLinearLayout>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,14 +17,13 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelFrameLayout
|
||||
android:id="@+id/item_content"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<org.mariotaku.twidere.view.ColorLabelFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/item_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/element_spacing_small"
|
||||
android:background="?selectableItemBackground"
|
||||
android:paddingBottom="@dimen/element_spacing_small"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_small"
|
||||
|
@ -35,8 +33,10 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/element_spacing_normal"
|
||||
android:paddingEnd="@dimen/item_menu_card_padding_compact"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/item_menu_card_padding_compact"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal">
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
|
@ -45,34 +45,40 @@
|
|||
android:layout_width="@dimen/icon_size_card_list_item"
|
||||
android:layout_height="@dimen/icon_size_card_list_item"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginEnd="@dimen/element_spacing_normal"
|
||||
android:layout_marginRight="@dimen/element_spacing_normal"
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
android:contentDescription="@string/profile_image" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/profile_type"
|
||||
android:layout_width="@dimen/icon_size_profile_type"
|
||||
android:layout_height="@dimen/icon_size_profile_type"
|
||||
android:layout_alignBottom="@id/profile_image"
|
||||
android:layout_alignEnd="@id/profile_image"
|
||||
android:layout_alignRight="@id/profile_image"
|
||||
android:layout_marginBottom="@dimen/element_spacing_minus_small"
|
||||
android:layout_marginEnd="@dimen/element_spacing_minus_normal"
|
||||
android:layout_marginRight="@dimen/element_spacing_minus_normal"
|
||||
android:scaleType="centerInside"
|
||||
tools:ignore="ContentDescription"/>
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/name_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_toEndOf="@id/profile_image"
|
||||
android:layout_toRightOf="@id/profile_image">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:layout_gravity="start|center_vertical"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
@ -84,7 +90,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textStyle="bold"/>
|
||||
android:textStyle="bold" />
|
||||
|
||||
<org.mariotaku.twidere.view.HandleSpanClickTextView
|
||||
android:id="@+id/screen_name"
|
||||
|
@ -94,7 +100,7 @@
|
|||
android:paddingRight="4dp"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"/>
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
|
@ -103,39 +109,45 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/name_frame"
|
||||
android:layout_alignStart="@+id/name_frame"
|
||||
android:layout_below="@+id/name_frame"
|
||||
android:paddingTop="@dimen/element_spacing_small"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"/>
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/location"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/name_frame"
|
||||
android:layout_alignStart="@+id/name_frame"
|
||||
android:layout_below="@+id/description"
|
||||
android:drawableLeft="@drawable/ic_indicator_location"
|
||||
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"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/url"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/name_frame"
|
||||
android:layout_alignStart="@+id/name_frame"
|
||||
android:layout_below="@+id/location"
|
||||
android:drawableLeft="@drawable/ic_indicator_web"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_web"
|
||||
android:paddingTop="@dimen/element_spacing_small"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@+id/name_frame"
|
||||
android:layout_alignStart="@+id/name_frame"
|
||||
android:layout_below="@+id/url"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="@dimen/element_spacing_small">
|
||||
|
@ -147,8 +159,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_twitter"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_twitter"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/followers_count"
|
||||
|
@ -157,8 +170,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_followers"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_followers"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/friends_count"
|
||||
|
@ -167,8 +181,9 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_following"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_following"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"/>
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
|
|
@ -17,21 +17,20 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:id="@+id/card"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/element_spacing_small"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginRight="@dimen/element_spacing_normal"
|
||||
tools:context=".adapter.ParcelableUserListsAdapter"
|
||||
android:layout_marginTop="@dimen/element_spacing_small"
|
||||
app:cardBackgroundColor="?cardItemBackgroundColor"
|
||||
app:cardCornerRadius="2dp"
|
||||
app:cardElevation="2dp">
|
||||
app:cardElevation="2dp"
|
||||
tools:context=".adapter.ParcelableUserListsAdapter">
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelLinearLayout
|
||||
android:id="@+id/item_content"
|
||||
|
@ -53,8 +52,10 @@
|
|||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/element_spacing_normal"
|
||||
android:paddingEnd="@dimen/element_spacing_xlarge"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_xlarge"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal">
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
|
@ -72,7 +73,10 @@
|
|||
android:layout_weight="1"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/element_spacing_normal">
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingStart="@dimen/element_spacing_normal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/name"
|
||||
|
@ -96,18 +100,18 @@
|
|||
<View
|
||||
android:id="@+id/divider"
|
||||
android:layout_width="match_parent"
|
||||
android:visibility="gone"
|
||||
android:layout_height="0.2dp"
|
||||
android:background="#40808080" />
|
||||
android:background="#40808080"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/description"
|
||||
android:layout_width="match_parent"
|
||||
android:visibility="gone"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/element_spacing_normal"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary" />
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:visibility="gone" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -122,6 +126,7 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_following"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_following"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
|
@ -132,6 +137,7 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_followers"
|
||||
android:drawablePadding="@dimen/element_spacing_small"
|
||||
android:drawableStart="@drawable/ic_indicator_followers"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -17,14 +17,13 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelFrameLayout
|
||||
android:id="@+id/item_content"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<org.mariotaku.twidere.view.ColorLabelFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/item_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/element_spacing_small"
|
||||
android:background="?selectableItemBackground"
|
||||
android:paddingBottom="@dimen/element_spacing_small"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_small"
|
||||
|
@ -34,8 +33,10 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingBottom="@dimen/element_spacing_normal"
|
||||
android:paddingEnd="@dimen/item_menu_card_padding_compact"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/item_menu_card_padding_compact"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal">
|
||||
|
||||
<org.mariotaku.twidere.view.ShapedImageView
|
||||
|
@ -44,7 +45,9 @@
|
|||
android:layout_width="@dimen/icon_size_card_list_item"
|
||||
android:layout_height="@dimen/icon_size_card_list_item"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginEnd="@dimen/element_spacing_normal"
|
||||
android:layout_marginRight="@dimen/element_spacing_normal"
|
||||
android:contentDescription="@string/profile_image"
|
||||
android:scaleType="fitCenter" />
|
||||
|
@ -53,15 +56,17 @@
|
|||
android:id="@+id/name_frame"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_toEndOf="@id/profile_image"
|
||||
android:layout_toRightOf="@id/profile_image">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:layout_gravity="start|center_vertical"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
@ -92,6 +97,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@id/name_frame"
|
||||
android:layout_alignStart="@id/name_frame"
|
||||
android:layout_below="@id/name_frame"
|
||||
android:paddingTop="@dimen/element_spacing_small"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
|
@ -101,6 +107,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignLeft="@id/description"
|
||||
android:layout_alignStart="@id/description"
|
||||
android:layout_below="@id/description"
|
||||
android:orientation="horizontal"
|
||||
android:paddingTop="@dimen/element_spacing_small">
|
||||
|
@ -112,6 +119,7 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_following"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_following"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
|
@ -122,6 +130,7 @@
|
|||
android:layout_weight="1"
|
||||
android:drawableLeft="@drawable/ic_indicator_followers"
|
||||
android:drawablePadding="4dp"
|
||||
android:drawableStart="@drawable/ic_indicator_followers"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -29,7 +27,7 @@
|
|||
android:id="@+id/list_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"/>
|
||||
android:layout_weight="1" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/alpha_container"
|
||||
|
@ -39,8 +37,10 @@
|
|||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingBottom="@dimen/element_spacing_normal"
|
||||
android:paddingEnd="@dimen/element_spacing_normal"
|
||||
android:paddingLeft="@dimen/element_spacing_large"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
android:paddingStart="@dimen/element_spacing_large"
|
||||
android:paddingTop="@dimen/element_spacing_normal">
|
||||
|
||||
<SeekBar
|
||||
|
@ -48,18 +48,19 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
tools:ignore="NestedWeights"/>
|
||||
tools:ignore="NestedWeights" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/alpha_preview"
|
||||
android:layout_width="@dimen/element_size_small"
|
||||
android:layout_height="@dimen/element_size_small"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:layout_weight="0"
|
||||
android:scaleType="centerInside"
|
||||
android:src="@mipmap/ic_launcher"
|
||||
android:visibility="gone"
|
||||
tools:ignore="ContentDescription"/>
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -23,7 +22,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<include layout="@layout/dialog_scrollable_status"/>
|
||||
<include layout="@layout/dialog_scrollable_status" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/progress_container"
|
||||
|
@ -31,23 +30,24 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:baselineAligned="false"
|
||||
android:orientation="horizontal"
|
||||
android:padding="@dimen/element_spacing_large"
|
||||
android:visibility="visible"
|
||||
tools:visibility="gone"
|
||||
android:padding="@dimen/element_spacing_large">
|
||||
tools:visibility="gone">
|
||||
|
||||
<ProgressBar
|
||||
android:id="@android:id/progress"
|
||||
style="?android:attr/progressBarStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="16dip"/>
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginRight="16dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/please_wait"/>
|
||||
android:text="@string/please_wait" />
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
|
@ -28,6 +28,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toLeftOf="@+id/is_public"
|
||||
android:layout_toStartOf="@+id/is_public"
|
||||
android:hint="@string/name"
|
||||
android:inputType="text"
|
||||
android:maxLength="20"
|
||||
|
@ -57,6 +58,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/name"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@+id/name"
|
||||
android:checked="true"
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
android:layout_width="@dimen/element_size_normal"
|
||||
android:layout_height="@dimen/element_size_normal"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:background="?selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:color="?android:textColorSecondary"
|
||||
|
@ -81,6 +82,7 @@
|
|||
android:id="@+id/send"
|
||||
android:layout_width="@dimen/element_size_normal"
|
||||
android:layout_height="@dimen/element_size_normal"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:background="?selectableItemBackground"
|
||||
android:clickable="true"
|
||||
|
@ -93,9 +95,11 @@
|
|||
android:id="@+id/edit_text_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right"
|
||||
android:layout_gravity="end"
|
||||
android:layout_toEndOf="@+id/add_image"
|
||||
android:layout_toLeftOf="@+id/send"
|
||||
android:layout_toRightOf="@+id/add_image"
|
||||
android:layout_toStartOf="@+id/send"
|
||||
app:bubbleColor="?messageBubbleColor"
|
||||
app:caretHeight="8dp"
|
||||
app:caretPosition="topRight"
|
||||
|
@ -116,7 +120,7 @@
|
|||
android:background="@null"
|
||||
android:completionThreshold="1"
|
||||
android:focusable="true"
|
||||
android:gravity="left|center_vertical"
|
||||
android:gravity="start|center_vertical"
|
||||
android:hint="@string/type_to_compose"
|
||||
android:inputType="textShortMessage|textMultiLine"
|
||||
android:maxHeight="140dp"
|
||||
|
@ -131,7 +135,7 @@
|
|||
android:id="@+id/text_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|right"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="@dimen/element_spacing_small"
|
||||
android:fontFamily="sans-serif-light"
|
||||
android:singleLine="true"
|
||||
|
|
|
@ -75,7 +75,10 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal"
|
||||
android:text="@string/profile_image"
|
||||
android:textAllCaps="true"
|
||||
|
@ -93,10 +96,11 @@
|
|||
android:id="@+id/profile_image_camera"
|
||||
style="?android:borderlessButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:background="?selectableItemBackground"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="?selectableItemBackground"
|
||||
android:drawableLeft="@drawable/ic_action_camera"
|
||||
android:drawableStart="@drawable/ic_action_camera"
|
||||
android:paddingBottom="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
|
@ -107,10 +111,11 @@
|
|||
android:id="@+id/profile_image_gallery"
|
||||
style="?android:borderlessButtonStyle"
|
||||
android:layout_width="0dp"
|
||||
android:background="?selectableItemBackground"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="?selectableItemBackground"
|
||||
android:drawableLeft="@drawable/ic_action_gallery"
|
||||
android:drawableStart="@drawable/ic_action_gallery"
|
||||
android:paddingBottom="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
|
@ -146,7 +151,10 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingEnd="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="0dp"
|
||||
android:paddingStart="@dimen/element_spacing_normal"
|
||||
android:paddingTop="@dimen/element_spacing_normal"
|
||||
android:text="@string/profile_banner"
|
||||
android:textAllCaps="true"
|
||||
|
@ -166,10 +174,11 @@
|
|||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="?selectableItemBackground"
|
||||
android:drawableLeft="@drawable/ic_action_gallery"
|
||||
android:drawableStart="@drawable/ic_action_gallery"
|
||||
android:paddingBottom="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:background="?selectableItemBackground"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
android:paddingTop="0dp"
|
||||
android:text="@string/gallery" />
|
||||
|
@ -177,11 +186,12 @@
|
|||
<org.mariotaku.twidere.view.ActionIconThemedTextView
|
||||
android:id="@+id/profile_banner_remove"
|
||||
style="?android:borderlessButtonStyle"
|
||||
android:background="?selectableItemBackground"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:background="?selectableItemBackground"
|
||||
android:drawableLeft="@drawable/ic_action_cancel"
|
||||
android:drawableStart="@drawable/ic_action_cancel"
|
||||
android:paddingBottom="0dp"
|
||||
android:paddingLeft="@dimen/element_spacing_normal"
|
||||
android:paddingRight="@dimen/element_spacing_normal"
|
||||
|
@ -294,6 +304,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/profile_link_color_main_color"
|
||||
android:textAllCaps="true"
|
||||
|
@ -322,6 +333,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/profile_background_color"
|
||||
android:textAllCaps="true"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<org.mariotaku.twidere.view.SquareRelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<org.mariotaku.twidere.view.SquareRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
|
@ -30,16 +28,18 @@
|
|||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:scaleType="centerCrop"/>
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/media_preview_progress"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_margin="16dp"/>
|
||||
android:layout_margin="16dp" />
|
||||
|
||||
</org.mariotaku.twidere.view.SquareRelativeLayout>
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Twidere - Twitter client for Android
|
||||
~
|
||||
~ Copyright (C) 2012-2014 Mariotaku Lee <mariotaku.lee@gmail.com>
|
||||
|
@ -18,8 +17,7 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -38,7 +36,7 @@
|
|||
android:contentDescription="@string/profile_banner"
|
||||
android:focusable="false"
|
||||
android:scaleType="centerCrop"
|
||||
tools:src="@drawable/nyan_stars_background"/>
|
||||
tools:src="@drawable/nyan_stars_background" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/profile_container"
|
||||
|
@ -66,18 +64,20 @@
|
|||
android:focusable="false"
|
||||
app:sivBorder="true"
|
||||
app:sivBorderWidth="2dp"
|
||||
tools:src="@mipmap/ic_launcher"/>
|
||||
tools:src="@mipmap/ic_launcher" />
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/other_accounts_list"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@id/profile_image"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignTop="@id/profile_image"
|
||||
android:layout_marginBottom="@dimen/element_spacing_large"
|
||||
android:layout_toEndOf="@id/profile_image"
|
||||
android:layout_toRightOf="@id/profile_image"
|
||||
android:focusable="false"/>
|
||||
android:focusable="false" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -105,7 +105,7 @@
|
|||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
tools:text="Name"/>
|
||||
tools:text="Name" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/screen_name"
|
||||
|
@ -115,7 +115,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
tools:text="\@username"/>
|
||||
tools:text="\@username" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -129,7 +129,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="false"/>
|
||||
android:focusableInTouchMode="false" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
|
@ -143,7 +143,7 @@
|
|||
android:focusable="false"
|
||||
android:scaleType="fitCenter"
|
||||
android:visibility="invisible"
|
||||
tools:ignore="ContentDescription"/>
|
||||
tools:ignore="ContentDescription" />
|
||||
</FrameLayout>
|
||||
|
||||
</RelativeLayout>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue