added rtl xml attributes

This commit is contained in:
Mariotaku Lee 2015-05-04 14:23:47 +08:00
parent f01beee026
commit d88e4902c3
123 changed files with 797 additions and 826 deletions

View File

@ -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";

View File

@ -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);

View File

@ -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 {

View File

@ -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;
}

View File

@ -89,7 +89,7 @@ public class ThemedAppCompatDelegateFactory implements Constants {
}
}
public static interface KeyListener {
public interface KeyListener {
boolean onKeyDown(int keyCode, KeyEvent event);

View File

@ -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;

View File

@ -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",

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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);
}

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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) {

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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();

View File

@ -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;

View File

@ -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() {

View File

@ -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);

View File

@ -32,7 +32,7 @@ public interface IBaseFragment {
void onBaseViewCreated(View view, Bundle savedInstanceState);
public interface SystemWindowsInsetsCallback {
interface SystemWindowsInsetsCallback {
boolean getSystemWindowsInsets(Rect insets);
}
}

View File

@ -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);
}

View File

@ -21,6 +21,6 @@ package org.mariotaku.twidere.fragment.iface;
public interface IMapFragment {
public void center();
void center();
}

View File

@ -21,8 +21,8 @@ package org.mariotaku.twidere.fragment.iface;
public interface RefreshScrollTopInterface {
public boolean scrollToStart();
boolean scrollToStart();
public boolean triggerRefresh();
boolean triggerRefresh();
}

View File

@ -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);
}

View File

@ -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);

View File

@ -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;

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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);
}

View 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

View File

@ -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);

View File

@ -165,7 +165,7 @@ public class TileImageLoader extends AsyncTaskLoader<TileImageLoader.Result> {
}
}
public static interface DownloadListener {
public interface DownloadListener {
void onDownloadError(Throwable t);
void onDownloadFinished();

View File

@ -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

View File

@ -173,7 +173,7 @@ public final class CustomTabConfiguration {
return new ExtraConfiguration(key, titleRes, Type.BOOLEAN, def);
}
public static enum Type {
public enum Type {
BOOLEAN
}
}

View File

@ -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;

View File

@ -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();
}
}
}
}

View File

@ -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);
}
}

View File

@ -296,7 +296,7 @@ public class RefreshService extends Service implements Constants {
}
}
private static interface RefreshableAccountFilter {
private interface RefreshableAccountFilter {
boolean isRefreshable(AccountPreferences pref);
}

View File

@ -81,7 +81,7 @@ public class ContentListScrollListener extends OnScrollListener {
}
}
public static interface ContentListSupport {
public interface ContentListSupport {
Object getAdapter();

View File

@ -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);
}

View File

@ -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);

View File

@ -124,7 +124,7 @@ public class EditTextEnterHandler implements View.OnKeyListener, OnEditorActionL
this.listener = listener;
}
public static interface EnterListener {
public interface EnterListener {
void onHitEnter();
}

View File

@ -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;
}
}
}

View File

@ -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 {
}

View File

@ -72,7 +72,7 @@ public class ListScrollDistanceCalculator implements OnScrollListener {
mScrollDistanceListener = listener;
}
public static interface ScrollDistanceListener {
public interface ScrollDistanceListener {
void onScrollDistanceChanged(int delta, int total);
}
}

View File

@ -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;
}
}
}

View File

@ -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.
*/

View File

@ -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);
}

View File

@ -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();
}

View File

@ -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;

View File

@ -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(),

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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();
}

View File

@ -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();

View File

@ -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;

View File

@ -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 {
}
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -291,7 +291,7 @@ public class HeaderDrawerLayout extends ViewGroup {
private void updateViewOffset() {
}
public static interface DrawerCallback {
public interface DrawerCallback {
boolean canScroll(float dy);

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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();
}

View File

@ -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);

View File

@ -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;

View File

@ -27,6 +27,6 @@ import android.support.annotation.NonNull;
*/
public interface IThemeAccentView {
public void setAccentTintColor(@NonNull ColorStateList color);
void setAccentTintColor(@NonNull ColorStateList color);
}

View File

@ -27,6 +27,6 @@ import android.support.annotation.NonNull;
*/
public interface IThemeBackgroundTintView {
public void setBackgroundTintColor(@NonNull ColorStateList color);
void setBackgroundTintColor(@NonNull ColorStateList color);
}

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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>

View File

@ -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"

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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"

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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>

View File

@ -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