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