Merge remote-tracking branch 'refs/remotes/k0shk0sh/master'

# Conflicts:

#	app/src/main/java/com/fastaccess/ui/modules/notification/all/AllNotificationsFragment.java
This commit is contained in:
Jedi Burrell 2017-05-13 00:15:21 -04:00
commit ac7fae042f
14 changed files with 150 additions and 91 deletions

View File

@ -9,7 +9,6 @@ import com.fastaccess.R;
import com.fastaccess.data.dao.GroupedNotificationModel;
import com.fastaccess.ui.adapter.viewholder.NotificationsHeaderViewHolder;
import com.fastaccess.ui.adapter.viewholder.NotificationsViewHolder;
import com.fastaccess.ui.widgets.FontTextView;
import com.fastaccess.ui.widgets.recyclerview.BaseRecyclerAdapter;
import com.fastaccess.ui.widgets.recyclerview.BaseViewHolder;
@ -46,9 +45,10 @@ public class NotificationsAdapter extends BaseRecyclerAdapter<GroupedNotificatio
@Override protected void onBindView(BaseViewHolder holder, int position) {
if (getItemViewType(position) == GroupedNotificationModel.HEADER) {
((NotificationsHeaderViewHolder) holder).bind(getItem(position));
if(hideClear)
if(getItem(Math.min(position+1, getItemCount()-1)).getNotification().isUnread())
if (hideClear)
if (getItem(Math.min(position + 1, getItemCount() - 1)).getNotification().isUnread()) {
(((NotificationsHeaderViewHolder) holder).itemView).findViewById(R.id.markAsRead).setVisibility(View.VISIBLE);
}
} else {
((NotificationsViewHolder) holder).bind(getItem(position));
}

View File

@ -2,6 +2,8 @@ package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.transition.ChangeBounds;
import android.support.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
@ -38,35 +40,24 @@ public class CommitFilesViewHolder extends BaseViewHolder<CommitFileModel> {
private final int patchAdditionColor;
private final int patchDeletionColor;
private final int patchRefColor;
private String pathText;
private OnToggleView onToggleView;
private ViewGroup viewGroup;
@Override public void onClick(View v) {
if (v.getId() != R.id.open) {
int position = getAdapterPosition();
onToggleView.onToggle(position, !onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position), true);
} else {
super.onClick(v);
}
}
private void onToggle(boolean expanded) {
if (!expanded) {
patch.setText(".....");
name.setMaxLines(2);
toggle.setRotation(0.0f);
} else {
name.setMaxLines(5);
setPatchText(pathText);
toggle.setRotation(180f);
}
}
private CommitFilesViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter,
private CommitFilesViewHolder(@NonNull View itemView, @NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView) {
super(itemView, adapter);
this.viewGroup = viewGroup;
open.setOnClickListener(this);
this.onToggleView = onToggleView;
patchAdditionColor = ViewHelper.getPatchAdditionColor(itemView.getContext());
@ -76,7 +67,7 @@ public class CommitFilesViewHolder extends BaseViewHolder<CommitFileModel> {
public static CommitFilesViewHolder newInstance(ViewGroup viewGroup, BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView) {
return new CommitFilesViewHolder(getView(viewGroup, R.layout.commit_file_row_item), adapter, onToggleView);
return new CommitFilesViewHolder(getView(viewGroup, R.layout.commit_file_row_item), viewGroup, adapter, onToggleView);
}
@Override public void bind(@NonNull CommitFileModel commit) {
@ -98,10 +89,25 @@ public class CommitFilesViewHolder extends BaseViewHolder<CommitFileModel> {
.append(statusText)
.append("\n")
.bold(String.valueOf(commit.getStatus())));
onToggle(onToggleView.isCollapsed(getAdapterPosition()));
onToggle(onToggleView.isCollapsed(getAdapterPosition()), false);
}
private void setPatchText(@NonNull String text) {
patch.setText(DiffLineSpan.getSpannable(text, patchAdditionColor, patchDeletionColor, patchRefColor));
}
private void onToggle(boolean expanded, boolean animate) {
if (animate) {
TransitionManager.beginDelayedTransition(viewGroup, new ChangeBounds());
}
if (!expanded) {
patch.setText("");
name.setMaxLines(2);
toggle.setRotation(0.0f);
} else {
name.setMaxLines(5);
setPatchText(pathText);
toggle.setRotation(180f);
}
}
}

View File

@ -92,21 +92,31 @@ public class FeedsViewHolder extends BaseViewHolder<Event> {
.append(in)
.append(" ");
} else {
spannableBuilder.bold(itemView.getResources().getString(type
.getType()).toLowerCase())
.append(" ");
if (eventsModel.getPayload() != null) {
PayloadModel payloadModel = eventsModel.getPayload();
if (payloadModel.getTarget() != null) {
spannableBuilder.append(payloadModel.getTarget().getLogin())
spannableBuilder
.bold(payloadModel.getTarget().getLogin())
.append(" ")
.append(in)
.append(" ");
} else if (payloadModel.getTeam() != null) {
spannableBuilder.append(payloadModel.getTeam().getName())
spannableBuilder
.bold(payloadModel.getTeam().getName())
.append(" ")
.append(in)
.append(" ");
} else if (payloadModel.getMember() != null) {
spannableBuilder.append(payloadModel.getMember().getName())
spannableBuilder
.bold(payloadModel.getMember().getLogin())
.append(" ")
.append(in)
.append(" ");
} else {
spannableBuilder.bold(itemView.getResources().getString(type.getType()).toLowerCase()).append(" ");
}
} else {
spannableBuilder.bold(itemView.getResources().getString(type.getType()).toLowerCase()).append(" ");
}
}
}

View File

@ -2,6 +2,8 @@ package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.transition.ChangeBounds;
import android.support.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
@ -34,6 +36,7 @@ public class GroupedReviewsViewHolder extends BaseViewHolder<TimelineModel> impl
@BindView(R.id.name) FontTextView name;
@BindView(R.id.toggle) ForegroundImageView toggle;
@BindView(R.id.patch) FontTextView patch;
@BindView(R.id.minimized) View minimized;
private final int patchAdditionColor;
private final int patchDeletionColor;
private final int patchRefColor;
@ -41,19 +44,21 @@ public class GroupedReviewsViewHolder extends BaseViewHolder<TimelineModel> impl
private ReactionsCallback reactionsCallback;
private String pathText;
private PullRequestTimelineMvp.ReviewCommentCallback reviewCommentCallback;
private ViewGroup viewGroup;
@Override public void onClick(View v) {
int position = getAdapterPosition();
onToggleView.onToggle(position, !onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position), true);
}
private GroupedReviewsViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter,
private GroupedReviewsViewHolder(@NonNull View itemView, ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView,
@NonNull ReactionsCallback reactionsCallback,
@NonNull PullRequestTimelineMvp.ReviewCommentCallback reviewCommentCallback) {
super(itemView, adapter);
this.onToggleView = onToggleView;
this.viewGroup = viewGroup;
this.reactionsCallback = reactionsCallback;
this.reviewCommentCallback = reviewCommentCallback;
patchAdditionColor = ViewHelper.getPatchAdditionColor(itemView.getContext());
@ -67,7 +72,7 @@ public class GroupedReviewsViewHolder extends BaseViewHolder<TimelineModel> impl
@NonNull OnToggleView onToggleView,
@NonNull ReactionsCallback reactionsCallback,
@NonNull PullRequestTimelineMvp.ReviewCommentCallback reviewCommentCallback) {
return new GroupedReviewsViewHolder(getView(viewGroup, R.layout.grouped_review_timeline_row_item), adapter,
return new GroupedReviewsViewHolder(getView(viewGroup, R.layout.grouped_review_timeline_row_item), viewGroup, adapter,
onToggleView, reactionsCallback, reviewCommentCallback);
}
@ -84,7 +89,7 @@ public class GroupedReviewsViewHolder extends BaseViewHolder<TimelineModel> impl
nestedRecyclerView.setAdapter(new ReviewCommentsAdapter(groupedReviewModel.getComments(), this, onToggleView, reactionsCallback));
nestedRecyclerView.addDivider();
}
onToggle(onToggleView.isCollapsed(getAdapterPosition()));
onToggle(onToggleView.isCollapsed(getAdapterPosition()), false);
}
@Override public void onItemClick(int position, View v, ReviewCommentModel item) {
@ -99,12 +104,17 @@ public class GroupedReviewsViewHolder extends BaseViewHolder<TimelineModel> impl
}
}
private void onToggle(boolean expanded) {
private void onToggle(boolean expanded, boolean animate) {
if (animate) {
TransitionManager.beginDelayedTransition(viewGroup, new ChangeBounds());
}
if (!expanded) {
patch.setText(".....");
minimized.setVisibility(View.GONE);
patch.setText("");
name.setMaxLines(2);
toggle.setRotation(0.0f);
} else {
minimized.setVisibility(View.VISIBLE);
name.setMaxLines(5);
setPatchText(pathText);
toggle.setRotation(180f);

View File

@ -2,6 +2,8 @@ package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.transition.ChangeBounds;
import android.support.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@ -50,11 +52,13 @@ public class IssueDetailsViewHolder extends BaseViewHolder<TimelineModel> {
@BindView(R.id.reactionsText) TextView reactionsText;
private OnToggleView onToggleView;
private ReactionsCallback reactionsCallback;
private ViewGroup viewGroup;
private IssueDetailsViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter,
private IssueDetailsViewHolder(@NonNull View itemView, @NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView, @NonNull ReactionsCallback reactionsCallback) {
super(itemView, adapter);
this.onToggleView = onToggleView;
this.viewGroup = viewGroup;
this.reactionsCallback = reactionsCallback;
itemView.setOnClickListener(null);
itemView.setOnLongClickListener(null);
@ -76,7 +80,8 @@ public class IssueDetailsViewHolder extends BaseViewHolder<TimelineModel> {
public static IssueDetailsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView, @NonNull ReactionsCallback reactionsCallback) {
return new IssueDetailsViewHolder(getView(viewGroup, R.layout.issue_detail_header_row_item), adapter, onToggleView, reactionsCallback);
return new IssueDetailsViewHolder(getView(viewGroup, R.layout.issue_detail_header_row_item), viewGroup,
adapter, onToggleView, reactionsCallback);
}
@Override public void bind(@NonNull TimelineModel timelineModel) {
@ -85,7 +90,7 @@ public class IssueDetailsViewHolder extends BaseViewHolder<TimelineModel> {
} else if (timelineModel.getPullRequest() != null) {
bind(timelineModel.getPullRequest());
}
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()));
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()), false);
}
@Override public void onClick(View v) {
@ -93,7 +98,7 @@ public class IssueDetailsViewHolder extends BaseViewHolder<TimelineModel> {
if (onToggleView != null) {
int position = getAdapterPosition();
onToggleView.onToggle(position, !onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position), true);
}
} else {
addReactionCount(v);
@ -251,7 +256,10 @@ public class IssueDetailsViewHolder extends BaseViewHolder<TimelineModel> {
}
}
private void onToggle(boolean expanded) {
private void onToggle(boolean expanded, boolean animate) {
if (animate) {
TransitionManager.beginDelayedTransition(viewGroup, new ChangeBounds());
}
toggle.setRotation(!expanded ? 0.0F : 180F);
commentOptions.setVisibility(!expanded ? View.GONE : View.VISIBLE);
if (!InputHelper.isEmpty(reactionsText)) {

View File

@ -2,6 +2,8 @@ package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.transition.ChangeBounds;
import android.support.transition.TransitionManager;
import android.support.v7.widget.AppCompatImageView;
import android.view.View;
import android.view.ViewGroup;
@ -49,13 +51,14 @@ public class ReviewCommentsViewHolder extends BaseViewHolder<ReviewCommentModel>
@BindView(R.id.reactionsText) FontTextView reactionsText;
private OnToggleView onToggleView;
private ReactionsCallback reactionsCallback;
private ViewGroup viewGroup;
@Override public void onClick(View v) {
if (v.getId() == R.id.toggle || v.getId() == R.id.toggleHolder) {
if (onToggleView != null) {
int position = getAdapterPosition();
onToggleView.onToggle(position, !onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position), true);
}
} else {
addReactionCount(v);
@ -63,10 +66,11 @@ public class ReviewCommentsViewHolder extends BaseViewHolder<ReviewCommentModel>
}
}
private ReviewCommentsViewHolder(@NonNull View itemView, @Nullable BaseRecyclerAdapter adapter,
private ReviewCommentsViewHolder(@NonNull View itemView, ViewGroup viewGroup, @Nullable BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView, @NonNull ReactionsCallback reactionsCallback) {
super(itemView, adapter);
this.onToggleView = onToggleView;
this.viewGroup = viewGroup;
this.reactionsCallback = reactionsCallback;
itemView.setOnClickListener(null);
itemView.setOnLongClickListener(null);
@ -88,7 +92,8 @@ public class ReviewCommentsViewHolder extends BaseViewHolder<ReviewCommentModel>
public static ReviewCommentsViewHolder newInstance(ViewGroup viewGroup, BaseRecyclerAdapter adapter,
@NonNull OnToggleView onToggleView, @NonNull ReactionsCallback reactionsCallback) {
return new ReviewCommentsViewHolder(getView(viewGroup, R.layout.review_comments_row_item), adapter, onToggleView, reactionsCallback);
return new ReviewCommentsViewHolder(getView(viewGroup, R.layout.review_comments_row_item),
viewGroup, adapter, onToggleView, reactionsCallback);
}
@Override public void bind(@NonNull ReviewCommentModel commentModel) {
@ -104,7 +109,7 @@ public class ReviewCommentsViewHolder extends BaseViewHolder<ReviewCommentModel>
ReactionsModel reaction = commentModel.getReactions();
appendEmojies(reaction);
}
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()));
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()), false);
}
private void addReactionCount(View v) {
@ -211,7 +216,10 @@ public class ReviewCommentsViewHolder extends BaseViewHolder<ReviewCommentModel>
}
}
private void onToggle(boolean expanded) {
private void onToggle(boolean expanded, boolean animate) {
if (animate) {
TransitionManager.beginDelayedTransition(viewGroup, new ChangeBounds());
}
toggle.setRotation(!expanded ? 0.0F : 180F);
commentOptions.setVisibility(!expanded ? View.GONE : View.VISIBLE);
if (!InputHelper.isEmpty(reactionsText)) {

View File

@ -2,6 +2,8 @@ package com.fastaccess.ui.adapter.viewholder;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.transition.ChangeBounds;
import android.support.transition.TransitionManager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@ -50,13 +52,14 @@ public class TimelineCommentsViewHolder extends BaseViewHolder<TimelineModel> {
private OnToggleView onToggleView;
private boolean showEmojies;
private ReactionsCallback reactionsCallback;
private ViewGroup viewGroup;
@Override public void onClick(View v) {
if (v.getId() == R.id.toggle || v.getId() == R.id.toggleHolder) {
if (onToggleView != null) {
int position = getAdapterPosition();
onToggleView.onToggle(position, !onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position));
onToggle(onToggleView.isCollapsed(position), true);
}
} else {
addReactionCount(v);
@ -64,10 +67,10 @@ public class TimelineCommentsViewHolder extends BaseViewHolder<TimelineModel> {
}
}
private TimelineCommentsViewHolder(@NonNull View itemView, @Nullable IssuePullsTimelineAdapter adapter,
@NonNull OnToggleView onToggleView,
boolean showEmojies, @NonNull ReactionsCallback reactionsCallback) {
private TimelineCommentsViewHolder(@NonNull View itemView, @NonNull ViewGroup viewGroup, @Nullable IssuePullsTimelineAdapter adapter,
@NonNull OnToggleView onToggleView, boolean showEmojies, @NonNull ReactionsCallback reactionsCallback) {
super(itemView, adapter);
this.viewGroup = viewGroup;
this.onToggleView = onToggleView;
this.showEmojies = showEmojies;
this.reactionsCallback = reactionsCallback;
@ -92,7 +95,7 @@ public class TimelineCommentsViewHolder extends BaseViewHolder<TimelineModel> {
public static TimelineCommentsViewHolder newInstance(@NonNull ViewGroup viewGroup, @Nullable IssuePullsTimelineAdapter adapter,
@NonNull OnToggleView onToggleView, boolean showEmojies,
@NonNull ReactionsCallback reactionsCallback) {
return new TimelineCommentsViewHolder(getView(viewGroup, R.layout.comments_row_item), adapter,
return new TimelineCommentsViewHolder(getView(viewGroup, R.layout.comments_row_item), viewGroup, adapter,
onToggleView, showEmojies, reactionsCallback);
}
@ -121,7 +124,7 @@ public class TimelineCommentsViewHolder extends BaseViewHolder<TimelineModel> {
}
}
emojiesList.setVisibility(showEmojies ? View.VISIBLE : View.GONE);
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()));
if (onToggleView != null) onToggle(onToggleView.isCollapsed(getAdapterPosition()), false);
}
private void addReactionCount(View v) {
@ -231,7 +234,10 @@ public class TimelineCommentsViewHolder extends BaseViewHolder<TimelineModel> {
}
}
private void onToggle(boolean expanded) {
private void onToggle(boolean expanded, boolean animate) {
if (animate) {
TransitionManager.beginDelayedTransition(viewGroup, new ChangeBounds());
}
toggle.setRotation(!expanded ? 0.0F : 180F);
commentOptions.setVisibility(!expanded ? View.GONE : View.VISIBLE);
if (!InputHelper.isEmpty(reactionsText)) {

View File

@ -86,7 +86,7 @@ public class AllNotificationsFragment extends BaseFragment<AllNotificationsMvp.V
}
@Override protected void onFragmentCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
adapter = new NotificationsAdapter(getPresenter().getNotifications(),true, true);
adapter = new NotificationsAdapter(getPresenter().getNotifications(), true, true);
adapter.setListener(getPresenter());
refresh.setOnRefreshListener(this);
stateLayout.setEmptyText(R.string.no_notifications);
@ -104,9 +104,7 @@ public class AllNotificationsFragment extends BaseFragment<AllNotificationsMvp.V
}
@Override public void showProgress(@StringRes int resId) {
refresh.setRefreshing(true);
stateLayout.showProgress();
}

View File

@ -53,8 +53,6 @@ public class AllNotificationsPresenter extends BasePresenter<AllNotificationsMvp
Repo repo = model.getRepo();
if (repo == null) return;
getView().onMarkAllByRepo(repo);
} else {
}
}
}

View File

@ -57,13 +57,14 @@ public class ViewerFragment extends BaseFragment<ViewerMvp.View, ViewerPresenter
webView.loadImage(url);
webView.setOnContentChangedListener(this);
webView.setVisibility(View.VISIBLE);
getActivity().supportInvalidateOptionsMenu();
}
@Override public void onSetMdText(@NonNull String text, String baseUrl) {
stateLayout.hideProgress();
webView.setVisibility(View.VISIBLE);
Logger.e(!getPresenter().isRepo());
webView.setGithubContent(text, baseUrl);
getActivity().supportInvalidateOptionsMenu();
}
@Override public void onSetCode(@NonNull String text) {
@ -143,18 +144,24 @@ public class ViewerFragment extends BaseFragment<ViewerMvp.View, ViewerPresenter
onSetCode(getPresenter().downloadedStream());
}
}
getActivity().supportInvalidateOptionsMenu();
}
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.wrap_menu_option, menu);
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.wrap_menu_option, menu);
menu.findItem(R.id.wrap).setVisible(false);
}
@Override public void onPrepareOptionsMenu(Menu menu) {
menu.findItem(R.id.wrap)
.setVisible(!getPresenter().isMarkDown() || !getPresenter().isRepo())
.setChecked(isWrap);
super.onPrepareOptionsMenu(menu);
MenuItem menuItem = menu.findItem(R.id.wrap);
Logger.e(getPresenter().isMarkDown() || getPresenter().isRepo() || getPresenter().isImage());
if (getPresenter().isMarkDown() || getPresenter().isRepo() || getPresenter().isImage()) {
menuItem.setVisible(false);
} else {
menuItem.setVisible(true).setCheckable(true).setChecked(isWrap);
}
}
@Override public boolean onOptionsItemSelected(MenuItem item) {

View File

@ -6,10 +6,8 @@ import android.support.annotation.NonNull;
import android.support.annotation.StringRes;
import android.support.v4.widget.NestedScrollView;
import android.util.AttributeSet;
import android.widget.ProgressBar;
import com.fastaccess.R;
import com.fastaccess.helper.Logger;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -145,7 +143,6 @@ public class StateLayout extends NestedScrollView {
}
private void onHandleLayoutState() {
Logger.e(layoutState);
setEmptyText(emptyTextValue);
switch (layoutState) {
case SHOW_PROGRESS_STATE:

View File

@ -6,7 +6,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/spacing_micro"
android:foreground="?android:selectableItemBackground"
app:cardBackgroundColor="?card_background">
<LinearLayout
@ -28,7 +27,6 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/spacing_normal"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="2"
@ -39,7 +37,8 @@
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="@dimen/spacing_normal"
android:background="?selectableItemBackgroundBorderless"
android:src="@drawable/ic_arrow_drop_down"/>
<com.fastaccess.ui.widgets.ForegroundImageView
@ -55,8 +54,8 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginEnd="@dimen/spacing_xs_large">
android:layout_marginEnd="@dimen/spacing_xs_large"
android:orientation="vertical">
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/patch"

View File

@ -26,10 +26,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_marginEnd="@dimen/avatar_margin_end"
android:layout_marginEnd="@dimen/avatar_margin"
android:layout_marginStart="@dimen/avatar_margin"
android:minHeight="24dp"
android:minWidth="24dp"
android:paddingTop="@dimen/spacing_normal"
android:paddingBottom="@dimen/spacing_normal"
android:scaleType="centerCrop"
tools:src="@drawable/ic_issue_opened"/>
@ -43,6 +45,8 @@
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="2"
android:paddingTop="@dimen/spacing_normal"
android:paddingBottom="@dimen/spacing_normal"
android:textColor="?android:textColorPrimary"
tools:text="When one acquires"/>
@ -52,34 +56,42 @@
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="?selectableItemBackgroundBorderless"
android:padding="@dimen/spacing_normal"
android:paddingTop="@dimen/spacing_normal"
android:paddingBottom="@dimen/spacing_normal"
android:src="@drawable/ic_arrow_drop_down"/>
</LinearLayout>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/patch"
style="@style/TextAppearance.AppCompat.Small"
<LinearLayout
android:id="@+id/minimized"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/avatar_margin"
android:background="@drawable/bottom_border"
android:paddingBottom="@dimen/spacing_normal"
tools:text="..."/>
<com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView
android:id="@+id/nestedRecyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone"
app:layoutManager="@string/staggered_layout_manager"
app:spanCount="@integer/small_spans"
tools:listitem="@layout/review_comments_row_item"
tools:visibility="visible"/>
android:visibility="gone">
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/patch"
style="@style/TextAppearance.AppCompat.Small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/avatar_margin"
android:background="@drawable/bottom_border"
android:paddingBottom="@dimen/spacing_normal"
tools:text="..."/>
<com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView
android:id="@+id/nestedRecyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_normal"
android:orientation="vertical"
android:visibility="gone"
app:layoutManager="@string/staggered_layout_manager"
app:spanCount="@integer/small_spans"
tools:listitem="@layout/review_comments_row_item"
tools:visibility="visible"/>
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>

View File

@ -5,7 +5,7 @@
<item
android:id="@+id/wrap"
android:checkable="true"
android:visible="false"
android:checked="false"
android:title="@string/wrap_content"
app:showAsAction="never"/>
</menu>