diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/FetchPostFilterReadPostsAndConcatenatedSubredditNames.java b/app/src/main/java/eu/toldi/infinityforlemmy/FetchPostFilterReadPostsAndConcatenatedSubredditNames.java index 75d941bc..b3f353ee 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/FetchPostFilterReadPostsAndConcatenatedSubredditNames.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/FetchPostFilterReadPostsAndConcatenatedSubredditNames.java @@ -49,7 +49,7 @@ public class FetchPostFilterReadPostsAndConcatenatedSubredditNames { if (anonymousSubscribedSubreddits != null && !anonymousSubscribedSubreddits.isEmpty()) { StringBuilder stringBuilder = new StringBuilder(); for (SubscribedSubredditData s : anonymousSubscribedSubreddits) { - stringBuilder.append(s.getName()).append("+"); + stringBuilder.append(s.getQualified_name()).append(","); } if (stringBuilder.length() > 0) { stringBuilder.deleteCharAt(stringBuilder.length() - 1); diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java b/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java index 32a923b2..4639d8df 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/activities/EditMultiRedditActivity.java @@ -12,7 +12,6 @@ import android.view.View; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ProgressBar; -import android.widget.Switch; import android.widget.TextView; import androidx.annotation.NonNull; @@ -25,6 +24,7 @@ import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.CollapsingToolbarLayout; import com.google.android.material.snackbar.Snackbar; +import java.util.ArrayList; import java.util.concurrent.Executor; import javax.inject.Inject; @@ -40,6 +40,7 @@ import eu.toldi.infinityforlemmy.customviews.slidr.Slidr; import eu.toldi.infinityforlemmy.multireddit.EditMultiReddit; import eu.toldi.infinityforlemmy.multireddit.FetchMultiRedditInfo; import eu.toldi.infinityforlemmy.multireddit.MultiReddit; +import eu.toldi.infinityforlemmy.subreddit.SubredditWithSelection; import eu.toldi.infinityforlemmy.utils.SharedPreferencesUtils; import eu.toldi.infinityforlemmy.utils.Utils; import retrofit2.Retrofit; @@ -69,12 +70,6 @@ public class EditMultiRedditActivity extends BaseActivity { EditText descriptionEditText; @BindView(R.id.divider_2_edit_multi_reddit_activity) View divider2; - @BindView(R.id.visibility_wrapper_linear_layout_edit_multi_reddit_activity) - LinearLayout visibilityLinearLayout; - @BindView(R.id.visibility_text_view_edit_multi_reddit_activity) - TextView visibilityTextView; - @BindView(R.id.visibility_switch_edit_multi_reddit_activity) - Switch visibilitySwitch; @BindView(R.id.select_subreddit_text_view_edit_multi_reddit_activity) TextView selectSubredditTextView; @Inject @@ -125,7 +120,6 @@ public class EditMultiRedditActivity extends BaseActivity { mAccountName = mCurrentAccountSharedPreferences.getString(SharedPreferencesUtils.ACCOUNT_QUALIFIED_NAME, "-"); if (mAccessToken == null) { - visibilityLinearLayout.setVisibility(View.GONE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { nameEditText.setImeOptions(nameEditText.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING); descriptionEditText.setImeOptions(descriptionEditText.getImeOptions() | EditorInfoCompat.IME_FLAG_NO_PERSONALIZED_LEARNING); @@ -167,13 +161,21 @@ public class EditMultiRedditActivity extends BaseActivity { linearLayout.setVisibility(View.VISIBLE); nameEditText.setText(multiReddit.getDisplayName()); descriptionEditText.setText(multiReddit.getDescription()); - visibilitySwitch.setChecked(!multiReddit.getVisibility().equals("public")); } selectSubredditTextView.setOnClickListener(view -> { Intent intent = new Intent(EditMultiRedditActivity.this, SelectedSubredditsAndUsersActivity.class); if (multiReddit.getSubreddits() != null) { - intent.putParcelableArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, multiReddit.getSubreddits()); + if (multiReddit.getSubreddits().isEmpty()) { + String[] communities = multiReddit.getPath().split(","); + ArrayList communitiesList = new ArrayList<>(); + for (String community : communities) { + communitiesList.add(new SubredditWithSelection(community.substring(0, community.indexOf('@')), null, community)); + } + intent.putParcelableArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, communitiesList); + } else { + intent.putParcelableArrayListExtra(SelectedSubredditsAndUsersActivity.EXTRA_SELECTED_SUBREDDITS, multiReddit.getSubreddits()); + } } startActivityForResult(intent, SUBREDDIT_SELECTION_REQUEST_CODE); }); @@ -203,8 +205,18 @@ public class EditMultiRedditActivity extends BaseActivity { multiReddit.setDisplayName(name); multiReddit.setName(name); multiReddit.setDescription(descriptionEditText.getText().toString()); + StringBuilder pathStringBuilder = new StringBuilder(); + String prefix = ""; + for (SubredditWithSelection s : multiReddit.getSubreddits()) { + pathStringBuilder.append(prefix); + prefix = ","; + pathStringBuilder.append(s.getQualifiedName()); + } + + multiReddit.setPath(pathStringBuilder.toString()); + EditMultiReddit.anonymousEditMultiReddit(mExecutor, new Handler(), mRedditDataRoomDatabase, - multiReddit, new EditMultiReddit.EditMultiRedditListener() { + multiReddit, multipath, new EditMultiReddit.EditMultiRedditListener() { @Override public void success() { finish(); @@ -263,7 +275,6 @@ public class EditMultiRedditActivity extends BaseActivity { divider2.setBackgroundColor(dividerColor); descriptionEditText.setTextColor(primaryTextColor); descriptionEditText.setHintTextColor(secondaryTextColor); - visibilityTextView.setTextColor(primaryTextColor); selectSubredditTextView.setTextColor(primaryTextColor); if (typeface != null) { diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/activities/SelectedSubredditsAndUsersActivity.java b/app/src/main/java/eu/toldi/infinityforlemmy/activities/SelectedSubredditsAndUsersActivity.java index c661e315..06c33c6c 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/activities/SelectedSubredditsAndUsersActivity.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/activities/SelectedSubredditsAndUsersActivity.java @@ -28,7 +28,6 @@ import eu.toldi.infinityforlemmy.ActivityToolbarInterface; import eu.toldi.infinityforlemmy.Infinity; import eu.toldi.infinityforlemmy.R; import eu.toldi.infinityforlemmy.adapters.SelectedSubredditsRecyclerViewAdapter; -import eu.toldi.infinityforlemmy.bottomsheetfragments.SelectSubredditsOrUsersOptionsBottomSheetFragment; import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper; import eu.toldi.infinityforlemmy.customviews.LinearLayoutManagerBugFixed; import eu.toldi.infinityforlemmy.customviews.slidr.Slidr; @@ -109,8 +108,7 @@ public class SelectedSubredditsAndUsersActivity extends BaseActivity implements }); fab.setOnClickListener(view -> { - SelectSubredditsOrUsersOptionsBottomSheetFragment selectSubredditsOrUsersOptionsBottomSheetFragment = new SelectSubredditsOrUsersOptionsBottomSheetFragment(); - selectSubredditsOrUsersOptionsBottomSheetFragment.show(getSupportFragmentManager(), selectSubredditsOrUsersOptionsBottomSheetFragment.getTag()); + selectSubreddits(); }); } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewMultiRedditDetailActivity.java b/app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewMultiRedditDetailActivity.java index dd2965c5..bc61bb32 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewMultiRedditDetailActivity.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/activities/ViewMultiRedditDetailActivity.java @@ -62,10 +62,8 @@ import eu.toldi.infinityforlemmy.customtheme.CustomThemeWrapper; import eu.toldi.infinityforlemmy.customviews.NavigationWrapper; import eu.toldi.infinityforlemmy.customviews.slidr.Slidr; import eu.toldi.infinityforlemmy.events.GoBackToMainPageEvent; -import eu.toldi.infinityforlemmy.events.RefreshMultiRedditsEvent; import eu.toldi.infinityforlemmy.events.SwitchAccountEvent; import eu.toldi.infinityforlemmy.fragments.PostFragment; -import eu.toldi.infinityforlemmy.multireddit.DeleteMultiReddit; import eu.toldi.infinityforlemmy.multireddit.MultiReddit; import eu.toldi.infinityforlemmy.post.MarkPostAsRead; import eu.toldi.infinityforlemmy.post.Post; @@ -764,6 +762,7 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT Intent editIntent = new Intent(this, EditMultiRedditActivity.class); editIntent.putExtra(EditMultiRedditActivity.EXTRA_MULTI_PATH, multiPath); startActivity(editIntent); + finish(); return true; } else if (itemId == R.id.action_delete_view_multi_reddit_detail_activity) { new MaterialAlertDialogBuilder(this, R.style.MaterialAlertDialogTheme) @@ -771,30 +770,13 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT .setMessage(R.string.delete_multi_reddit_dialog_message) .setPositiveButton(R.string.delete, (dialogInterface, i) -> { - if (mAccessToken == null) { - DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountName, multiPath, - () -> { - Toast.makeText(this, R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show(); - finish(); - }); - } else { - DeleteMultiReddit.deleteMultiReddit(mExecutor, new Handler(), mOauthRetrofit, mRedditDataRoomDatabase, - mAccessToken, mAccountName, multiPath, new DeleteMultiReddit.DeleteMultiRedditListener() { - @Override - public void success() { - Toast.makeText(ViewMultiRedditDetailActivity.this, - R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show(); - EventBus.getDefault().post(new RefreshMultiRedditsEvent()); - finish(); - } - @Override - public void failed() { - Toast.makeText(ViewMultiRedditDetailActivity.this, - R.string.delete_multi_reddit_failed, Toast.LENGTH_SHORT).show(); - } - }); - } + DeleteMultiredditInDatabase.deleteMultiredditInDatabase(mExecutor, new Handler(), mRedditDataRoomDatabase, mAccountName, multiPath, + () -> { + Toast.makeText(this, R.string.delete_multi_reddit_success, Toast.LENGTH_SHORT).show(); + finish(); + }); + }) .setNegativeButton(R.string.cancel, null) .show(); diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SelectedSubredditsRecyclerViewAdapter.java b/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SelectedSubredditsRecyclerViewAdapter.java index adbca1f2..e53bfb57 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SelectedSubredditsRecyclerViewAdapter.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SelectedSubredditsRecyclerViewAdapter.java @@ -43,7 +43,7 @@ public class SelectedSubredditsRecyclerViewAdapter extends RecyclerView.Adapter< @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { if (holder instanceof SubredditViewHolder) { - ((SubredditViewHolder) holder).subredditNameTextView.setText(subreddits.get(holder.getBindingAdapterPosition()).getName()); + ((SubredditViewHolder) holder).subredditNameTextView.setText(subreddits.get(holder.getBindingAdapterPosition()).getQualifiedName()); ((SubredditViewHolder) holder).deleteButton.setOnClickListener(view -> { subreddits.remove(holder.getBindingAdapterPosition()); notifyItemRemoved(holder.getBindingAdapterPosition()); @@ -58,7 +58,11 @@ public class SelectedSubredditsRecyclerViewAdapter extends RecyclerView.Adapter< public void addSubreddits(ArrayList newSubreddits) { int oldSize = subreddits.size(); - subreddits.addAll(newSubreddits); + for (SubredditWithSelection subreddit : newSubreddits) { + if (!subreddits.contains(subreddit)) { + subreddits.add(subreddit); + } + } notifyItemRangeInserted(oldSize, newSubreddits.size()); } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SubredditMultiselectionRecyclerViewAdapter.java b/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SubredditMultiselectionRecyclerViewAdapter.java index 2f04c6f5..e3377cb1 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SubredditMultiselectionRecyclerViewAdapter.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/adapters/SubredditMultiselectionRecyclerViewAdapter.java @@ -53,6 +53,7 @@ public class SubredditMultiselectionRecyclerViewAdapter extends RecyclerView.Ada public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { if (holder instanceof SubscribedSubredditViewHolder) { ((SubscribedSubredditViewHolder) holder).nameTextView.setText(subscribedSubreddits.get(position).getName()); + ((SubscribedSubredditViewHolder) holder).instanceTextView.setText(subscribedSubreddits.get(position).getQualifiedName().substring(subscribedSubreddits.get(position).getQualifiedName().indexOf("@"))); glide.load(subscribedSubreddits.get(position).getIconUrl()) .apply(RequestOptions.bitmapTransform(new RoundedCornersTransformation(72, 0))) .error(glide.load(R.drawable.subreddit_default_icon) @@ -107,6 +108,9 @@ public class SubredditMultiselectionRecyclerViewAdapter extends RecyclerView.Ada GifImageView iconImageView; @BindView(R.id.name_text_view_item_subscribed_subreddit_multiselection) TextView nameTextView; + + @BindView(R.id.instance_text_view_item_subscribed_subreddit_multiselection) + TextView instanceTextView; @BindView(R.id.checkbox_item_subscribed_subreddit_multiselection) CheckBox checkBox; @@ -115,10 +119,12 @@ public class SubredditMultiselectionRecyclerViewAdapter extends RecyclerView.Ada this.itemView = itemView; ButterKnife.bind(this, itemView); nameTextView.setTextColor(primaryTextColor); + instanceTextView.setTextColor(primaryTextColor); checkBox.setButtonTintList(ColorStateList.valueOf(colorAccent)); if (activity.typeface != null) { nameTextView.setTypeface(activity.typeface); + instanceTextView.setTypeface(activity.typeface); } } } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/fragments/PostFragment.java b/app/src/main/java/eu/toldi/infinityforlemmy/fragments/PostFragment.java index 759968dd..0bc57100 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/fragments/PostFragment.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/fragments/PostFragment.java @@ -438,7 +438,7 @@ public class PostFragment extends Fragment implements FragmentCommunicator { postType = getArguments().getInt(EXTRA_POST_TYPE); - mSwipeRefreshLayout.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true) && postType != PostPagingSource.TYPE_ANONYMOUS_FRONT_PAGE); + mSwipeRefreshLayout.setEnabled(mSharedPreferences.getBoolean(SharedPreferencesUtils.PULL_TO_REFRESH, true)); mSwipeRefreshLayout.setOnRefreshListener(this::refresh); accessToken = getArguments().getString(EXTRA_ACCESS_TOKEN); diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/CreateMultiReddit.java b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/CreateMultiReddit.java index d8f6ec6a..084d920a 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/CreateMultiReddit.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/CreateMultiReddit.java @@ -4,7 +4,6 @@ import android.os.Handler; import androidx.annotation.NonNull; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -73,12 +72,12 @@ public class CreateMultiReddit { } redditDataRoomDatabase.multiRedditDao().insert(new MultiReddit(multipath, name, name, description, null, null, "private", accountName, 0, System.currentTimeMillis(), true, false, false)); - List anonymousMultiredditSubreddits = new ArrayList<>(); + /*List anonymousMultiredditSubreddits = new ArrayList<>(); for (SubredditWithSelection s : subreddits) { anonymousMultiredditSubreddits.add(new AnonymousMultiredditSubreddit(multipath, s.getQualifiedName())); } redditDataRoomDatabase.anonymousMultiredditSubredditDao().insertAll(anonymousMultiredditSubreddits); - +*/ handler.post(createMultiRedditListener::success); }); } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/EditMultiReddit.java b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/EditMultiReddit.java index 45598bc7..066e76c5 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/EditMultiReddit.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/multireddit/EditMultiReddit.java @@ -49,16 +49,14 @@ public class EditMultiReddit { public static void anonymousEditMultiReddit(Executor executor, Handler handler, RedditDataRoomDatabase redditDataRoomDatabase, - MultiReddit multiReddit, + MultiReddit multiReddit, String oldPath, EditMultiRedditListener editMultiRedditListener) { executor.execute(() -> { ArrayList anonymousMultiredditSubreddits = new ArrayList<>(); ArrayList subreddits = multiReddit.getSubreddits(); + redditDataRoomDatabase.multiRedditDao().anonymousDeleteMultiReddit(oldPath); redditDataRoomDatabase.multiRedditDao().insert(multiReddit); - for (SubredditWithSelection s : subreddits) { - anonymousMultiredditSubreddits.add(new AnonymousMultiredditSubreddit(multiReddit.getPath(), s.getQualifiedName())); - } - redditDataRoomDatabase.anonymousMultiredditSubredditDao().insertAll(anonymousMultiredditSubreddits); + handler.post(editMultiRedditListener::success); }); } diff --git a/app/src/main/java/eu/toldi/infinityforlemmy/post/PostViewModel.java b/app/src/main/java/eu/toldi/infinityforlemmy/post/PostViewModel.java index 0bb85d90..4d341e77 100644 --- a/app/src/main/java/eu/toldi/infinityforlemmy/post/PostViewModel.java +++ b/app/src/main/java/eu/toldi/infinityforlemmy/post/PostViewModel.java @@ -19,6 +19,7 @@ import androidx.paging.PagingDataTransforms; import androidx.paging.PagingLiveData; import androidx.paging.PagingSource; +import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executor; import java.util.regex.Pattern; @@ -249,8 +250,9 @@ public class PostViewModel extends ViewModel { break; case PostPagingSource.TYPE_MULTI_REDDIT: case PostPagingSource.TYPE_ANONYMOUS_FRONT_PAGE: - paging3PagingSource = new MulticommunityPagingSource(retrofit.getRetrofit().create(LemmyAPI.class), List.of(name.split(Pattern.quote(","))), accessToken, - sortType, executor, postFilter, readPostList, postEnricher); + String[] communities = (name != null) ? name.split(Pattern.quote(",")) : new String[0]; + paging3PagingSource = new MulticommunityPagingSource(retrofit.getRetrofit().create(LemmyAPI.class), List.of(communities), accessToken, + sortType, executor, postFilter, (readPostList != null) ? readPostList : new ArrayList<>(), postEnricher); break; case PostPagingSource.TYPE_SEARCH: paging3PagingSource = new PostPagingSource(executor, retrofit, accessToken, accountName, @@ -387,12 +389,12 @@ public class PostViewModel extends ViewModel { this.executor = executor; this.retrofit = retrofit; this.sharedPreferences = sharedPreferences; - // TODO is this used? because it is getting overwritten with opt + this.name = concatenatedSubredditNames; this.postType = postType; this.sortType = sortType; this.postFilter = postFilter; - this.name = opt; + this.postEnricher = postEnricher; } diff --git a/app/src/main/kotlin/eu/toldi/infinityforlemmy/multicommunity/MultiCommunityPostPagingSource.kt b/app/src/main/kotlin/eu/toldi/infinityforlemmy/multicommunity/MultiCommunityPostPagingSource.kt index d33cfdd2..769ecb7c 100644 --- a/app/src/main/kotlin/eu/toldi/infinityforlemmy/multicommunity/MultiCommunityPostPagingSource.kt +++ b/app/src/main/kotlin/eu/toldi/infinityforlemmy/multicommunity/MultiCommunityPostPagingSource.kt @@ -22,7 +22,7 @@ import java.util.concurrent.Executor class MulticommunityPagingSource( private val api: LemmyAPI, private val communities: List, - private val accessToken: String, + private val accessToken: String?, private val sortType: SortType, private val executor: Executor, private val postFilter: PostFilter, @@ -41,12 +41,14 @@ class MulticommunityPagingSource( val wasCached = mutableMapOf() // Loop through each community and fetch posts for ((community, pageNumber) in currentPageMap) { - + if (community == "all") continue // Skip all if (undisplayedPosts.containsKey(community) && undisplayedPosts[community]!!.size > 10) { val posts: List = undisplayedPosts[community] ?: listOf() combinedPosts.addAll(posts) undisplayedPosts[community]!!.clear() // Clear used posts wasCached[community] = true + // Add a dummy future to the list + futuresList.add(Futures.immediateFuture(LoadResult.Page(posts, null, null))) } else { val future = fetchPostsFromCommunity(api, pageNumber, community) futuresList.add(future) @@ -71,6 +73,7 @@ class MulticommunityPagingSource( // Handle other cases like LoadResult.Error } + val sorted = when (sortType.type) { SortType.Type.NEW -> { sortByNewest(combinedPosts) @@ -97,10 +100,18 @@ class MulticommunityPagingSource( } } + if (currentPageMap.containsKey("all")) { + nextPageMap["all"] = filteredPosts.size + currentPageMap["all"]!! + } else { + nextPageMap["all"] = filteredPosts.size + } + + + LoadResult.Page( data = filteredPosts, prevKey = null, // Define prevKey logic if needed - nextKey = nextPageMap + nextKey = if (filteredPosts.isNotEmpty()) nextPageMap else null ) }, executor) val partialLoadResultFuture = diff --git a/app/src/main/res/layout/activity_edit_multi_reddit.xml b/app/src/main/res/layout/activity_edit_multi_reddit.xml index 2783616b..0d9325bd 100644 --- a/app/src/main/res/layout/activity_edit_multi_reddit.xml +++ b/app/src/main/res/layout/activity_edit_multi_reddit.xml @@ -85,33 +85,6 @@ android:layout_width="match_parent" android:layout_height="1dp" /> - - - - - - - - - + android:orientation="horizontal"> + + + + +