UI improvements and fixes post 13.0 rc3 (#1601)

closes #1600

closes #1597

Reviewed-on: https://codeberg.org/gitnex/GitNex/pulls/1601
This commit is contained in:
M M Arif
2026-05-11 09:41:06 +02:00
committed by M M Arif
parent 8dad5d0a67
commit 62b71e6cf9
85 changed files with 634 additions and 959 deletions
@@ -56,7 +56,6 @@ public class AccountSettingsActivity extends BaseActivity {
private void setupDockListeners() {
prepareNavButton(binding.btnNavEmails);
prepareNavButton(binding.btnNavSshKeys);
prepareNavButton(binding.btnBack);
binding.btnBack.setOnClickListener(v -> finish());
@@ -14,7 +14,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialog;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import java.util.ArrayList;
import java.util.Locale;
import org.apache.commons.lang3.StringUtils;
import org.gitnex.tea4j.v2.models.Cron;
import org.mian.gitnex.R;
import org.mian.gitnex.adapters.AdminCronTasksAdapter;
@@ -176,8 +175,9 @@ public class AdministrationActivity extends BaseActivity {
lastRunContent.setText(lastRun);
execTimeContent.setText(String.valueOf(task.getExecTimes()));
String name = task.getName().replace("_", " ");
new MaterialAlertDialogBuilder(this)
.setTitle(StringUtils.capitalize(task.getName().replace("_", " ")))
.setTitle(name.substring(0, 1).toUpperCase() + name.substring(1))
.setView(view)
.setPositiveButton(R.string.close, null)
.show();
@@ -36,7 +36,7 @@ public class CreateNoteActivity extends BaseActivity {
binding = ActivityCreateNoteBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
UIHelper.applyEdgeToEdge(this, binding.dockedToolbar, null, null, null);
UIHelper.applyEdgeToEdge(this, binding.dockedToolbar, binding.scrollView, null, null);
notesApi = BaseApi.getInstance(ctx, NotesApi.class);
action =
@@ -11,7 +11,6 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.gitnex.tea4j.v2.models.ContentsResponse;
import org.gitnex.tea4j.v2.models.Organization;
import org.gitnex.tea4j.v2.models.PullRequest;
@@ -232,7 +231,7 @@ public class DeepLinksActivity extends BaseActivity {
}
private void handleIssues(String owner, String repo, String last) {
if (last != null && !last.contains("issues") && StringUtils.isNumeric(last)) {
if (last != null && !last.contains("issues") && last.matches("\\d+")) {
issueIntent.putExtra("issueNumber", last);
issueIntent.putExtra("openedFromLink", "true");
@@ -261,7 +260,7 @@ public class DeepLinksActivity extends BaseActivity {
String repo = segments.get(1);
String last = segments.get(segments.size() - 1);
if (last != null && !last.contains("pulls") && StringUtils.isNumeric(last)) {
if (last != null && !last.contains("pulls") && last.matches("\\d+")) {
delayedTask(
() -> {
String[] urlSplitted = data.toString().split("#");
@@ -87,7 +87,6 @@ public class ExploreActivity extends BaseActivity {
prepareNavButton(binding.btnNavIssues);
prepareNavButton(binding.btnNavOrganizations);
prepareNavButton(binding.btnNavUsers);
prepareNavButton(binding.btnBack);
binding.btnBack.setOnClickListener(v -> finish());
@@ -80,7 +80,6 @@ import org.mian.gitnex.viewmodels.IssueActionsViewModel;
import org.mian.gitnex.viewmodels.IssueDetailViewModel;
import org.mian.gitnex.viewmodels.ReactionsViewModel;
import org.mian.gitnex.viewmodels.TimelineViewModel;
import org.mian.gitnex.views.reactions.EmojiPickerPopup;
import org.mian.gitnex.views.reactions.ReactionUsersBottomSheet;
import org.mian.gitnex.views.reactions.ReactionsManager;
import retrofit2.Call;
@@ -188,6 +187,7 @@ public class IssueDetailActivity extends BaseActivity
setupTimeline();
observeTimelineViewModel();
observeCombinedLoading();
}
private void hideAllContent() {
@@ -588,7 +588,7 @@ public class IssueDetailActivity extends BaseActivity
binding.commentReply.etQuickComment.setText("");
binding.commentReply.etQuickComment.setHint(R.string.commentButtonText);
binding.commentReply.btnQuickSend.setIconResource(R.drawable.ic_send);
binding.commentReply.btnExpandEditor.setVisibility(View.VISIBLE);
// binding.commentReply.btnExpandEditor.setVisibility(View.VISIBLE);
editingCommentId = -1;
isEditing = false;
}
@@ -622,16 +622,13 @@ public class IssueDetailActivity extends BaseActivity
}
}
@Override
public void onCommentAddReactionClick(
TimelineItem comment, View anchor) {
showCommentEmojiPicker(comment, anchor);
}
@Override
public void onCommentReactionLongClick(
TimelineItem comment, String content, List<User> users) {
ReactionUsersBottomSheet.newInstance(content, users)
TimelineItem comment,
String content,
String emoji,
List<User> users) {
ReactionUsersBottomSheet.newInstance(emoji, users)
.show(getSupportFragmentManager(), "REACTION_USERS");
}
@@ -769,8 +766,6 @@ public class IssueDetailActivity extends BaseActivity
}
});
timelineViewModel.getIsLoading().observe(this, loading -> {});
timelineViewModel
.getIsRefreshing()
.observe(
@@ -833,6 +828,32 @@ public class IssueDetailActivity extends BaseActivity
});
}
private void observeCombinedLoading() {
viewModel
.getIsLoading()
.observe(
this,
loading -> {
if (loading != null && loading) {
binding.expressiveLoader.setVisibility(View.VISIBLE);
}
});
timelineViewModel
.getIsLoading()
.observe(
this,
isTimelineLoading -> {
if (isTimelineLoading != null && !isTimelineLoading) {
Boolean isIssueLoading = viewModel.getIsLoading().getValue();
if (isIssueLoading == null || !isIssueLoading) {
binding.expressiveLoader.setVisibility(View.GONE);
binding.pullToRefresh.setRefreshing(false);
}
}
});
}
private void fetchTimeline() {
if (owner != null && repo != null && issueNumber > 0) {
timelineViewModel.fetchTimeline(this, 1, resultLimit, true);
@@ -851,48 +872,6 @@ public class IssueDetailActivity extends BaseActivity
binding.timelineSection.getRoot().setVisibility(hasItems ? View.VISIBLE : View.GONE);
}
private void showCommentEmojiPicker(TimelineItem comment, View anchor) {
List<String> allowed = reactionsViewModel.getAllowedReactions().getValue();
if (allowed != null && !allowed.isEmpty()) {
EmojiPickerPopup popup = new EmojiPickerPopup(this, allowed);
popup.setOnEmojiSelectedListener(
content -> {
timelineViewModel.addCommentReaction(
IssueDetailActivity.this, comment.getId(), content);
});
popup.show(anchor);
} else {
reactionsViewModel.fetchReactionSettings(this);
reactionsViewModel
.getAllowedReactions()
.observe(
this,
new androidx.lifecycle.Observer<>() {
@Override
public void onChanged(List<String> allowedList) {
if (allowedList != null && !allowedList.isEmpty()) {
reactionsViewModel
.getAllowedReactions()
.removeObserver(this);
EmojiPickerPopup popup =
new EmojiPickerPopup(
IssueDetailActivity.this, allowedList);
popup.setOnEmojiSelectedListener(
content -> {
timelineViewModel.addCommentReaction(
IssueDetailActivity.this,
comment.getId(),
content);
});
popup.show(anchor);
}
}
});
}
}
private void showCommentMenu(TimelineItem comment) {
this.currentCommentForMenu = comment;
String currentUser = getAccount().getAccount().getUserName();
@@ -962,19 +941,6 @@ public class IssueDetailActivity extends BaseActivity
}
private void observeViewModel() {
viewModel
.getIsLoading()
.observe(
this,
loading -> {
if (loading) {
binding.expressiveLoader.setVisibility(View.VISIBLE);
} else {
binding.expressiveLoader.setVisibility(View.GONE);
binding.pullToRefresh.setRefreshing(false);
}
});
viewModel
.getIssueData()
.observe(
@@ -12,6 +12,7 @@ import androidx.annotation.NonNull;
import androidx.core.text.HtmlCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.google.android.material.badge.BadgeDrawable;
@@ -62,12 +63,12 @@ public class MainActivity extends BaseActivity
private TinyDB tinyDB;
public static boolean reloadRepos;
public static boolean closeActivity;
private final Fragment homeFrag = new HomeDashboardFragment();
private final Fragment repoFrag = new RepositoriesFragment();
private final Fragment notifyFrag = new NotificationsFragment();
private Fragment activeFragment = homeFrag;
private Fragment homeFrag;
private Fragment repoFrag;
private Fragment notifyFrag;
private Fragment activeFragment;
private String currentActiveTab = TAB_HOME;
private final FragmentManager fm = getSupportFragmentManager();
private FragmentManager fm;
private View detachedDivider;
private View detachedAddBtn;
private View detachedSearchBtn;
@@ -108,6 +109,8 @@ public class MainActivity extends BaseActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
fm = getSupportFragmentManager();
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
tinyDB = TinyDB.getInstance(this);
@@ -119,6 +122,10 @@ public class MainActivity extends BaseActivity
detachedSearchBtn = binding.btnDockSearch;
detachedSortBtn = binding.btnDockSort;
homeFrag = fm.findFragmentByTag(TAB_HOME);
repoFrag = fm.findFragmentByTag(TAB_REPOS);
notifyFrag = fm.findFragmentByTag(TAB_NOTIFICATIONS);
if (savedInstanceState != null) {
currentActiveTab = savedInstanceState.getString(STATE_ACTIVE_TAB, TAB_HOME);
}
@@ -153,14 +160,28 @@ public class MainActivity extends BaseActivity
}
private void setupFragments() {
fm.beginTransaction()
.add(R.id.nav_host_fragment, notifyFrag, TAB_NOTIFICATIONS)
.hide(notifyFrag)
.add(R.id.nav_host_fragment, repoFrag, TAB_REPOS)
.hide(repoFrag)
.add(R.id.nav_host_fragment, homeFrag, TAB_HOME)
.hide(homeFrag)
.commitNow();
FragmentTransaction ft = fm.beginTransaction();
if (homeFrag == null) {
homeFrag = new HomeDashboardFragment();
ft.add(R.id.nav_host_fragment, homeFrag, TAB_HOME);
}
if (repoFrag == null) {
repoFrag = new RepositoriesFragment();
ft.add(R.id.nav_host_fragment, repoFrag, TAB_REPOS);
ft.hide(repoFrag);
}
if (notifyFrag == null) {
notifyFrag = new NotificationsFragment();
ft.add(R.id.nav_host_fragment, notifyFrag, TAB_NOTIFICATIONS);
ft.hide(notifyFrag);
}
ft.commitNow();
if (activeFragment == null) {
activeFragment = homeFrag;
}
}
@Override
@@ -85,7 +85,6 @@ import org.mian.gitnex.viewmodels.IssueActionsViewModel;
import org.mian.gitnex.viewmodels.PullRequestDetailViewModel;
import org.mian.gitnex.viewmodels.ReactionsViewModel;
import org.mian.gitnex.viewmodels.TimelineViewModel;
import org.mian.gitnex.views.reactions.EmojiPickerPopup;
import org.mian.gitnex.views.reactions.ReactionUsersBottomSheet;
import org.mian.gitnex.views.reactions.ReactionsManager;
import retrofit2.Call;
@@ -193,6 +192,7 @@ public class PullRequestDetailActivity extends BaseActivity
setupTimeline();
observeTimelineViewModel();
observeCombinedLoading();
}
private boolean isDraftOrWip(PullRequest pr) {
@@ -529,7 +529,7 @@ public class PullRequestDetailActivity extends BaseActivity
binding.commentReply.etQuickComment.setText("");
binding.commentReply.etQuickComment.setHint(R.string.commentButtonText);
binding.commentReply.btnQuickSend.setIconResource(R.drawable.ic_send);
binding.commentReply.btnExpandEditor.setVisibility(View.VISIBLE);
// binding.commentReply.btnExpandEditor.setVisibility(View.VISIBLE);
editingCommentId = -1;
isEditing = false;
}
@@ -567,16 +567,13 @@ public class PullRequestDetailActivity extends BaseActivity
}
}
@Override
public void onCommentAddReactionClick(
TimelineItem comment, View anchor) {
showCommentEmojiPicker(comment, anchor);
}
@Override
public void onCommentReactionLongClick(
TimelineItem comment, String content, List<User> users) {
ReactionUsersBottomSheet.newInstance(content, users)
TimelineItem comment,
String content,
String emoji,
List<User> users) {
ReactionUsersBottomSheet.newInstance(emoji, users)
.show(getSupportFragmentManager(), "REACTION_USERS");
}
@@ -716,8 +713,6 @@ public class PullRequestDetailActivity extends BaseActivity
}
});
timelineViewModel.getIsLoading().observe(this, loading -> {});
timelineViewModel
.getIsRefreshing()
.observe(
@@ -780,6 +775,32 @@ public class PullRequestDetailActivity extends BaseActivity
});
}
private void observeCombinedLoading() {
viewModel
.getIsLoading()
.observe(
this,
loading -> {
if (loading != null && loading) {
binding.expressiveLoader.setVisibility(View.VISIBLE);
}
});
timelineViewModel
.getIsLoading()
.observe(
this,
isTimelineLoading -> {
if (isTimelineLoading != null && !isTimelineLoading) {
Boolean isIssueLoading = viewModel.getIsLoading().getValue();
if (isIssueLoading == null || !isIssueLoading) {
binding.expressiveLoader.setVisibility(View.GONE);
binding.pullToRefresh.setRefreshing(false);
}
}
});
}
private void fetchTimeline() {
if (owner != null && repo != null && prNumber > 0) {
timelineViewModel.fetchTimeline(this, 1, resultLimit, true);
@@ -798,49 +819,6 @@ public class PullRequestDetailActivity extends BaseActivity
binding.timelineSection.getRoot().setVisibility(hasItems ? View.VISIBLE : View.GONE);
}
private void showCommentEmojiPicker(TimelineItem comment, View anchor) {
List<String> allowed = reactionsViewModel.getAllowedReactions().getValue();
if (allowed != null && !allowed.isEmpty()) {
EmojiPickerPopup popup = new EmojiPickerPopup(this, allowed);
popup.setOnEmojiSelectedListener(
content -> {
timelineViewModel.addCommentReaction(
PullRequestDetailActivity.this, comment.getId(), content);
});
popup.show(anchor);
} else {
reactionsViewModel.fetchReactionSettings(this);
reactionsViewModel
.getAllowedReactions()
.observe(
this,
new androidx.lifecycle.Observer<>() {
@Override
public void onChanged(List<String> allowedList) {
if (allowedList != null && !allowedList.isEmpty()) {
reactionsViewModel
.getAllowedReactions()
.removeObserver(this);
EmojiPickerPopup popup =
new EmojiPickerPopup(
PullRequestDetailActivity.this,
allowedList);
popup.setOnEmojiSelectedListener(
content -> {
timelineViewModel.addCommentReaction(
PullRequestDetailActivity.this,
comment.getId(),
content);
});
popup.show(anchor);
}
}
});
}
}
private void observeIssueActions() {
issueActionsViewModel
.getActionMessage()
@@ -1034,19 +1012,6 @@ public class PullRequestDetailActivity extends BaseActivity
}
private void observeViewModel() {
viewModel
.getIsLoading()
.observe(
this,
loading -> {
if (loading) {
binding.expressiveLoader.setVisibility(View.VISIBLE);
} else {
binding.expressiveLoader.setVisibility(View.GONE);
binding.pullToRefresh.setRefreshing(false);
}
});
viewModel
.getPrData()
.observe(
@@ -136,7 +136,6 @@ public class RepositoryActionsActivity extends BaseActivity {
prepareNavButton(binding.btnNavRunners);
prepareNavButton(binding.btnNavWorkflows);
prepareNavButton(binding.btnNavVariables);
prepareNavButton(binding.btnBack);
binding.btnBack.setOnClickListener(v -> finish());
@@ -6,7 +6,6 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.gitnex.tea4j.v2.models.Cron;
import org.mian.gitnex.databinding.ListAdminCronTasksBinding;
@@ -44,12 +43,14 @@ public class AdminCronTasksAdapter extends RecyclerView.Adapter<AdminCronTasksAd
return new ViewHolder(binding);
}
@SuppressLint("SetTextI18n")
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Cron task = tasks.get(position);
String cleanName = StringUtils.capitalize(task.getName().replace("_", " "));
String cleanName = task.getName().replace("_", " ");
holder.binding.taskName.setText(cleanName);
holder.binding.taskName.setText(
cleanName.substring(0, 1).toUpperCase() + cleanName.substring(1));
holder.binding.runTask.setOnClickListener(v -> listener.onRunTask(task.getName()));
holder.binding.getRoot().setOnClickListener(v -> listener.onShowDetails(task));
@@ -2,11 +2,17 @@ package org.mian.gitnex.adapters;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Color;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Filter;
import android.widget.Filterable;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.RecyclerView;
@@ -25,18 +31,20 @@ import org.mian.gitnex.helpers.Toasty;
/**
* @author mmarif
*/
public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHolder>
public class FilesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
implements Filterable {
private static final int TYPE_BREADCRUMB = 0;
private static final int TYPE_FILE = 1;
private final List<RepoGetContentsList> originalFiles = new ArrayList<>();
private final List<RepoGetContentsList> alteredFiles = new ArrayList<>();
private final Context context;
private final FilesAdapterListener filesListener;
public FilesAdapter(Context ctx, FilesAdapterListener filesListener) {
this.context = ctx;
this.filesListener = filesListener;
}
private String repoName;
private String[] pathSegments = new String[0];
private PathNavigationListener pathNavigationListener;
public interface FilesAdapterListener {
void onClickFile(RepoGetContentsList file);
@@ -46,6 +54,29 @@ public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHol
void onSearchFilterCompleted(int count);
}
public interface PathNavigationListener {
void onNavigateToPath(String path);
void onNavigateToRoot();
}
public FilesAdapter(Context ctx, FilesAdapterListener filesListener) {
this.context = ctx;
this.filesListener = filesListener;
}
@SuppressLint("NotifyDataSetChanged")
public void setPathData(String repoName, String[] segments, PathNavigationListener listener) {
this.repoName = repoName;
this.pathSegments = segments != null ? segments : new String[0];
this.pathNavigationListener = listener;
notifyDataSetChanged();
}
private boolean hasBreadcrumb() {
return pathSegments.length > 0 && repoName != null;
}
@SuppressLint("NotifyDataSetChanged")
public void setFiles(List<RepoGetContentsList> newList) {
this.originalFiles.clear();
@@ -55,22 +86,43 @@ public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHol
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
if (hasBreadcrumb() && position == 0) {
return TYPE_BREADCRUMB;
}
return TYPE_FILE;
}
@NonNull @Override
public FilesViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if (viewType == TYPE_BREADCRUMB) {
View view =
LayoutInflater.from(parent.getContext())
.inflate(R.layout.item_files_breadcrumb, parent, false);
return new BreadcrumbViewHolder(view);
}
ListFilesBinding binding =
ListFilesBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
return new FilesViewHolder(binding);
}
@Override
public void onBindViewHolder(@NonNull FilesViewHolder holder, int position) {
holder.bind(alteredFiles.get(position));
holder.binding.getRoot().updateAppearance(position, getItemCount());
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (holder instanceof BreadcrumbViewHolder) {
((BreadcrumbViewHolder) holder).bind();
} else if (holder instanceof FilesViewHolder) {
int fileIndex = hasBreadcrumb() ? position - 1 : position;
((FilesViewHolder) holder).bind(alteredFiles.get(fileIndex));
((FilesViewHolder) holder).binding.getRoot().updateAppearance(position, getItemCount());
}
}
@Override
public int getItemCount() {
return alteredFiles.size();
int count = alteredFiles.size();
if (hasBreadcrumb()) count++;
return count;
}
@Override
@@ -112,8 +164,74 @@ public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHol
};
}
public class FilesViewHolder extends RecyclerView.ViewHolder {
class BreadcrumbViewHolder extends RecyclerView.ViewHolder {
private final TextView breadcrumbText;
private final com.google.android.material.listitem.ListItemLayout listItemLayout;
BreadcrumbViewHolder(View itemView) {
super(itemView);
breadcrumbText = itemView.findViewById(R.id.breadcrumb_text);
listItemLayout = (com.google.android.material.listitem.ListItemLayout) itemView;
}
void bind() {
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(repoName);
builder.setSpan(
new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
if (pathNavigationListener != null) {
pathNavigationListener.onNavigateToRoot();
}
}
},
0,
repoName.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
for (int i = 0; i < pathSegments.length; i++) {
String segment = pathSegments[i];
builder.append(" / ");
int start = builder.length();
builder.append(segment);
if (i < pathSegments.length - 1) {
final String pathUpToHere = buildPathUpTo(i);
builder.setSpan(
new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
if (pathNavigationListener != null) {
pathNavigationListener.onNavigateToPath(pathUpToHere);
}
}
},
start,
builder.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
breadcrumbText.setText(builder);
breadcrumbText.setMovementMethod(LinkMovementMethod.getInstance());
breadcrumbText.setHighlightColor(Color.TRANSPARENT);
listItemLayout.updateAppearance(0, getItemCount());
}
private String buildPathUpTo(int index) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i <= index; i++) {
if (sb.length() > 0) sb.append("/");
sb.append(pathSegments[i]);
}
return sb.toString();
}
}
public class FilesViewHolder extends RecyclerView.ViewHolder {
private final ListFilesBinding binding;
private FilesViewHolder(ListFilesBinding binding) {
@@ -166,7 +284,6 @@ public class FilesAdapter extends RecyclerView.Adapter<FilesAdapter.FilesViewHol
if (hasDate) {
binding.fileDate.setVisibility(View.VISIBLE);
binding.fileDate.setText(TimeHelper.formatTime(committerDate, locale));
binding.fileDate.setOnClickListener(
v ->
Toasty.show(
@@ -15,7 +15,6 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import org.apache.commons.lang3.StringUtils;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.CreateNoteActivity;
import org.mian.gitnex.database.api.BaseApi;
@@ -96,11 +95,14 @@ public class NotesAdapter extends RecyclerView.Adapter<NotesAdapter.NotesViewHol
public void bind(Notes note) {
this.note = note;
String content = note.getContent();
Markdown.render(
ctx,
EmojiParser.parseToUnicode(
Objects.requireNonNull(
StringUtils.substring(note.getContent(), 0, 140))),
content != null && content.length() > 140
? content.substring(0, 140)
: content)),
binding.noteContent);
long timestamp = (note.getModified() != null) ? note.getModified() : note.getDatetime();
@@ -50,8 +50,6 @@ public class TimelineAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
private static final int TYPE_PUSH = 2;
private final Context context;
private final String owner;
private final String repo;
private final String currentUser;
private final RepositoryContext repositoryContext;
private List<TimelineItem> items = new ArrayList<>();
@@ -67,9 +65,8 @@ public class TimelineAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
void onCommentReactionClick(TimelineItem comment, String content, boolean isUserReaction);
void onCommentAddReactionClick(TimelineItem comment, View anchor);
void onCommentReactionLongClick(TimelineItem comment, String content, List<User> users);
void onCommentReactionLongClick(
TimelineItem comment, String content, String displayEmoji, List<User> users);
void onAttachmentClick(Attachment attachment);
@@ -85,8 +82,6 @@ public class TimelineAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
String currentUser,
OnTimelineItemClickListener listener) {
this.context = context;
this.owner = owner;
this.repo = repo;
this.currentUser = currentUser;
this.clickListener = listener;
this.repositoryContext = new RepositoryContext(owner, repo, context);
@@ -260,7 +255,10 @@ public class TimelineAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
String emoji, String content, List<User> users) {
if (clickListener != null) {
clickListener.onCommentReactionLongClick(
comment, content, users);
comment,
content,
reactionsManager.getDisplayEmoji(content),
users);
}
}
@@ -3,6 +3,7 @@ package org.mian.gitnex.fragments;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
@@ -61,6 +62,30 @@ public class BottomSheetCreateActionVariable extends BottomSheetDialogFragment {
viewModel.clearVariableCreated();
viewModel.clearCreateVariableError();
binding.variableValue.setOnTouchListener(
(v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.getParent().requestDisallowInterceptTouchEvent(true);
} else if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) {
v.getParent().requestDisallowInterceptTouchEvent(false);
v.performClick();
}
return false;
});
binding.variableDescription.setOnTouchListener(
(v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.getParent().requestDisallowInterceptTouchEvent(true);
} else if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) {
v.getParent().requestDisallowInterceptTouchEvent(false);
v.performClick();
}
return false;
});
setupListeners();
observeViewModel();
}
@@ -3,6 +3,7 @@ package org.mian.gitnex.fragments;
import android.app.Dialog;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
@@ -74,6 +75,19 @@ public class BottomSheetCreateRepo extends BottomSheetDialogFragment {
private void setupListeners() {
binding.btnClose.setOnClickListener(v -> dismiss());
binding.newRepoDescription.setOnTouchListener(
(v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.getParent().requestDisallowInterceptTouchEvent(true);
} else if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) {
v.getParent().requestDisallowInterceptTouchEvent(false);
v.performClick();
}
return false;
});
binding.btnCreate.setOnClickListener(
v -> {
String name =
@@ -22,12 +22,6 @@ public class BottomSheetSettingsAboutFragment extends BottomSheetDialogFragment
private BottomsheetSettingsAboutBinding binding;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -35,12 +35,6 @@ public class BottomSheetSettingsAppearanceFragment extends BottomSheetDialogFrag
private static int langSelectedChoice;
private LinkedHashMap<String, String> lang;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -42,12 +42,6 @@ public class BottomSheetSettingsBackupRestoreFragment extends BottomSheetDialogF
private final String DATABASE_NAME = "gitnex";
private String BACKUP_DATABASE_NAME;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -27,12 +27,6 @@ public class BottomSheetSettingsCodeEditorFragment extends BottomSheetDialogFrag
private static int indentationTabsSelectedChoice;
private static String[] indentationList;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -25,12 +25,6 @@ public class BottomSheetSettingsGeneralFragment extends BottomSheetDialogFragmen
private static int homeScreenSelectedChoice;
private static int defaultLinkHandlerScreenSelectedChoice;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -25,12 +25,6 @@ public class BottomSheetSettingsNotificationsFragment extends BottomSheetDialogF
private BottomsheetSettingsNotificationsBinding binding;
private static int pollingDelayListSelectedChoice;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -37,12 +37,6 @@ public class BottomSheetSettingsSecurityFragment extends BottomSheetDialogFragme
private static int cacheSizeImagesSelectedChoice;
private static int[] requestTimeoutDataList;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, R.style.Custom_BottomSheet);
}
@Nullable @Override
public View onCreateView(
@NonNull LayoutInflater inflater,
@@ -288,6 +288,25 @@ public class FilesFragment extends Fragment
getViewLifecycleOwner(),
list -> {
binding.pullToRefresh.setRefreshing(false);
filesAdapter.setPathData(
repository.getName(),
path.segments(),
new FilesAdapter.PathNavigationListener() {
@Override
public void onNavigateToPath(String clickedPath) {
path.clear();
for (String s : clickedPath.split("/")) {
path.addWithoutEncoding(s);
}
refresh();
}
@Override
public void onNavigateToRoot() {
path.clear();
refresh();
}
});
filesAdapter.setFiles(list);
boolean isEmpty = list.isEmpty();
@@ -98,7 +98,7 @@ public class LabelsFragment extends Fragment implements RepoDetailActivity.RepoH
items.add(
new RepositoryMenuItemModel(
"LABEL_ADD_NEW",
R.string.addButton,
R.string.pageTitleCreateLabel,
R.drawable.ic_add,
R.attr.colorPrimaryContainer,
R.attr.colorOnPrimaryContainer));
@@ -104,7 +104,7 @@ public class MilestonesFragment extends Fragment implements RepoDetailActivity.R
items.add(
new RepositoryMenuItemModel(
"MILESTONE_ADD_NEW",
R.string.addButton,
R.string.pageTitleCreateMilestone,
R.drawable.ic_add,
R.attr.colorPrimaryContainer,
R.attr.colorOnPrimaryContainer));
@@ -21,6 +21,7 @@ import java.util.List;
import org.gitnex.tea4j.v2.models.NotificationThread;
import org.mian.gitnex.R;
import org.mian.gitnex.activities.IssueDetailActivity;
import org.mian.gitnex.activities.PullRequestDetailActivity;
import org.mian.gitnex.activities.RepoDetailActivity;
import org.mian.gitnex.adapters.NotificationsAdapter;
import org.mian.gitnex.databinding.FragmentNotificationsBinding;
@@ -28,7 +29,6 @@ import org.mian.gitnex.helpers.Constants;
import org.mian.gitnex.helpers.EndlessRecyclerViewScrollListener;
import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.helpers.UIHelper;
import org.mian.gitnex.helpers.contexts.IssueContext;
import org.mian.gitnex.helpers.contexts.RepositoryContext;
import org.mian.gitnex.viewmodels.NotificationsViewModel;
@@ -281,11 +281,25 @@ public class NotificationsFragment extends Fragment
thread.getRepository().getName(),
context);
repo.saveToDB(context);
String url = thread.getSubject().getUrl();
int id = Integer.parseInt(url.substring(url.lastIndexOf("/") + 1));
Intent intent =
new IssueContext(repo, id, thread.getSubject().getType())
.getIntent(context, IssueDetailActivity.class);
String issueType = thread.getSubject().getType();
Intent intent;
if ("Pull".equalsIgnoreCase(issueType)) {
intent = new Intent(context, PullRequestDetailActivity.class);
intent.putExtra("owner", thread.getRepository().getOwner().getLogin());
intent.putExtra("repo", thread.getRepository().getName());
intent.putExtra("prNumber", id);
} else {
intent = new Intent(context, IssueDetailActivity.class);
intent.putExtra("owner", thread.getRepository().getOwner().getLogin());
intent.putExtra("repo", thread.getRepository().getName());
intent.putExtra("issueNumber", id);
intent.putExtra("fetchIssueObject", true);
}
intent.putExtra("openedFromLink", "true");
startActivity(intent);
}
@@ -4,6 +4,7 @@ import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
@@ -235,6 +236,18 @@ public class OrganizationTeamsFragment extends Fragment
AppUtil.applySheetStyle(bottomSheetDialog, false);
sheetBinding.teamDesc.setOnTouchListener(
(v, event) -> {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
v.getParent().requestDisallowInterceptTouchEvent(true);
} else if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) {
v.getParent().requestDisallowInterceptTouchEvent(false);
v.performClick();
}
return false;
});
sheetBinding.btnCreate.setOnClickListener(
v -> {
if (validateInput(sheetBinding)) {
@@ -92,7 +92,7 @@ public class WikiFragment extends Fragment implements RepoDetailActivity.RepoHub
items.add(
new RepositoryMenuItemModel(
"WIKI_ADD_NEW",
R.string.addButton,
R.string.createWikiPage,
R.drawable.ic_add,
R.attr.colorPrimaryContainer,
R.attr.colorOnPrimaryContainer));
@@ -186,8 +186,6 @@ public class TimelineViewModel extends ViewModel {
public void onResponse(
@NonNull Call<List<TimelineComment>> call,
@NonNull Response<List<TimelineComment>> response) {
isLoading.setValue(false);
isRefreshing.setValue(false);
if (response.isSuccessful() && response.body() != null) {
String totalHeader = response.headers().get("x-total-count");
@@ -205,6 +203,8 @@ public class TimelineViewModel extends ViewModel {
timeline.setValue(new ArrayList<>());
}
isLastPage = true;
isLoading.setValue(false);
isRefreshing.setValue(false);
}
}
@@ -276,6 +276,8 @@ public class TimelineViewModel extends ViewModel {
timeline.setValue(currentList);
isLastPage =
items.size() < 20 || (totalCount != -1 && currentList.size() >= totalCount);
isLoading.setValue(false);
isRefreshing.setValue(false);
return;
}
@@ -21,7 +21,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -33,18 +33,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:layout_gravity="center_horizontal"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
@@ -53,8 +45,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_email"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -63,8 +53,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_lock"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<View
@@ -78,14 +66,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_add"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dimen4dp"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:contentDescription="@string/addButton" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -51,7 +51,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -63,17 +63,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -93,8 +86,8 @@
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -51,7 +51,7 @@
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="@dimen/dimen28dp"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -63,49 +63,26 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_gravity="center_horizontal"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_new_user"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_gravity="center_horizontal"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/adminCreateNewUser" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -118,7 +95,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -71,7 +71,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -83,17 +83,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -113,8 +106,8 @@
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -49,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -61,17 +61,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -91,8 +84,8 @@
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
</com.google.android.material.overflow.OverflowLinearLayout>
+7 -23
View File
@@ -2,7 +2,6 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="match_parent"
android:background="?attr/primaryBackgroundColor">
@@ -50,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -62,17 +61,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/close"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -90,25 +82,17 @@
android:ellipsize="end"
android:singleLine="true"
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textAppearance="?attr/textAppearanceTitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp"
tools:text="main" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/action_search_dock"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -121,7 +105,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -4,14 +4,13 @@
android:layout_height="match_parent"
android:background="?attr/primaryBackgroundColor"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true">
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:background="?attr/primaryBackgroundColor">
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
@@ -26,7 +25,7 @@
android:gravity="top|start"
android:inputType="textCapSentences|textMultiLine"
android:scrollbars="vertical"
android:background="?attr/primaryBackgroundColor"
android:background="?attr/colorSurface"
android:textColor="?attr/primaryTextColor"
android:hint="@string/newNoteContentHint"
android:textIsSelectable="true"
@@ -55,7 +54,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -67,18 +66,11 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
@@ -86,13 +78,7 @@
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_markdown"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp"
android:insetLeft="0dp"
android:insetRight="0dp"
android:padding="8dp" />
app:icon="@drawable/ic_markdown" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -6,7 +6,7 @@
android:layout_height="match_parent"
android:paddingTop="@dimen/dimen56dp"
android:paddingBottom="@dimen/dimen16dp"
android:background="?attr/materialCardBackgroundColor">
android:background="?attr/primaryBackgroundColor">
<com.google.android.material.loadingindicator.LoadingIndicator
android:id="@+id/progressBar"
+5 -12
View File
@@ -30,7 +30,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -42,17 +42,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -70,10 +63,10 @@
android:ellipsize="middle"
android:singleLine="true"
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="?attr/textAppearanceTitleSmall"
android:textAppearance="?attr/textAppearanceTitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
</com.google.android.material.overflow.OverflowLinearLayout>
+3 -23
View File
@@ -21,7 +21,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -33,18 +33,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:layout_gravity="center_horizontal"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
@@ -53,8 +45,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_repo"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -63,8 +53,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_issue"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -73,8 +61,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_organization"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -83,8 +69,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_person"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<View
@@ -98,14 +82,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dimen4dp"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -14,7 +14,6 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/primaryBackgroundColor"
android:clipToPadding="false">
<LinearLayout
@@ -102,7 +101,7 @@
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="@dimen/dimen32dp"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -114,32 +113,19 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/close"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:layout_marginEnd="@dimen/dimen4dp"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_arrow_back" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_reply"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/commentButtonText"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:layout_marginEnd="@dimen/dimen4dp"
app:icon="@drawable/ic_comment"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_comment" />
<View
android:layout_width="@dimen/dimen1dp"
@@ -150,17 +136,11 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_menu"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/menuContentDesc"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
app:icon="@drawable/ic_dotted_menu"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_dotted_menu" />
</com.google.android.material.overflow.OverflowLinearLayout>
+10 -27
View File
@@ -9,11 +9,8 @@
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:navGraph="@navigation/nav_graph"
app:defaultNavHost="true" />
android:layout_height="match_parent" />
<com.google.android.material.dockedtoolbar.DockedToolbarLayout
android:id="@+id/docked_toolbar"
@@ -25,7 +22,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -33,8 +30,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dimen4dp">
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_home"
@@ -42,8 +38,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_home"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -52,8 +46,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_repo"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<com.google.android.material.button.MaterialButton
@@ -62,8 +54,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_notifications"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
<View
@@ -77,36 +67,29 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_new_repo"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dimen4dp"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:contentDescription="@string/addButton" />
android:minWidth="0dp"
android:layout_marginStart="@dimen/dimen4dp" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
android:layout_gravity="center_vertical"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:minWidth="0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_sort"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_dotted_menu"
android:layout_gravity="center_vertical"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:minWidth="0dp"
android:contentDescription="@string/sort" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -49,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -61,47 +61,26 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/close"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/action_search_dock"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/delete_all"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_delete"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/removeButton" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -114,7 +93,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
+5 -26
View File
@@ -50,7 +50,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -62,47 +62,26 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_more"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_dotted_menu"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -115,7 +94,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
+6 -34
View File
@@ -49,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -61,62 +61,34 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/close"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/new_note"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/addButton" />
<com.google.android.material.button.MaterialButton
android:id="@+id/action_search_dock"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/delete_all_notes"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_delete"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/removeButton" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -129,7 +101,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
+16 -38
View File
@@ -22,26 +22,21 @@
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior"
android:backgroundTint="?attr/colorSurfaceContainerHigh">
android:backgroundTint="?attr/colorSurfaceContainerHighest">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dimen8dp"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:icon="@drawable/ic_arrow_back"
android:backgroundTint="@android:color/transparent"
android:insetLeft="0dp"
android:insetRight="0dp" />
app:icon="@drawable/ic_arrow_back" />
<HorizontalScrollView
android:id="@+id/dock_scroll_view"
@@ -63,7 +58,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_organization" />
<com.google.android.material.button.MaterialButton
@@ -71,15 +65,13 @@
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_repo"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_repo" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_labels"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_label" />
<com.google.android.material.button.MaterialButton
@@ -87,7 +79,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_followers" />
<com.google.android.material.button.MaterialButton
@@ -95,7 +86,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_person" />
</LinearLayout>
@@ -111,38 +101,26 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_add"
style="?attr/materialIconButtonStyle"
android:layout_width="@dimen/dimen48dp"
android:layout_height="@dimen/dimen48dp"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
android:backgroundTint="@android:color/transparent"
android:layout_marginStart="@dimen/dimen8dp"
android:visibility="gone"
android:insetLeft="0dp"
android:insetRight="0dp" />
android:visibility="gone" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_search"
style="?attr/materialIconButtonStyle"
android:layout_width="@dimen/dimen48dp"
android:layout_height="@dimen/dimen48dp"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
android:visibility="gone"
android:backgroundTint="@android:color/transparent"
android:layout_marginStart="@dimen/dimen8dp"
android:insetLeft="0dp"
android:insetRight="0dp" />
android:visibility="gone" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_menu"
style="?attr/materialIconButtonStyle"
android:layout_width="@dimen/dimen48dp"
android:layout_height="@dimen/dimen48dp"
app:icon="@drawable/ic_dotted_menu"
android:backgroundTint="@android:color/transparent"
android:layout_marginStart="@dimen/dimen8dp"
android:insetLeft="0dp"
android:insetRight="0dp" />
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_dotted_menu" />
</LinearLayout>
@@ -22,7 +22,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -30,43 +30,35 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dimen4dp">
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
android:layout_gravity="center_vertical"
android:backgroundTint="@android:color/transparent"
android:insetLeft="0dp"
android:insetRight="0dp" />
app:icon="@drawable/ic_arrow_back" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_repos"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_repo"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_repo" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_members"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_person"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_person" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_permissions"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_lock"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_lock" />
<View
android:id="@+id/dock_divider"
@@ -78,25 +70,18 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_add"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/dimen4dp"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:contentDescription="@string/addButton" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
android:layout_gravity="center_vertical"
android:backgroundTint="@android:color/transparent"
android:visibility="gone"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -49,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -61,47 +61,26 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_new_org"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/addButton" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -114,7 +93,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
+8 -23
View File
@@ -22,26 +22,21 @@
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior"
android:backgroundTint="?attr/colorSurfaceContainerHigh">
android:backgroundTint="?attr/colorSurfaceContainerHighest">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dimen8dp"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:icon="@drawable/ic_arrow_back"
android:backgroundTint="@android:color/transparent"
android:insetLeft="0dp"
android:insetRight="0dp" />
app:icon="@drawable/ic_arrow_back" />
<HorizontalScrollView
android:id="@+id/dock_scroll_view"
@@ -63,7 +58,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_person" />
<com.google.android.material.button.MaterialButton
@@ -71,15 +65,13 @@
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_repo"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_repo" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_starred_repos"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_star_unfilled" />
<com.google.android.material.button.MaterialButton
@@ -87,7 +79,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_organization" />
<com.google.android.material.button.MaterialButton
@@ -95,7 +86,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_followers" />
<com.google.android.material.button.MaterialButton
@@ -103,7 +93,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_following" />
</LinearLayout>
@@ -119,14 +108,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_search"
style="?attr/materialIconButtonStyle"
android:layout_width="48dp"
android:layout_height="48dp"
app:icon="@drawable/ic_search"
android:backgroundTint="@android:color/transparent"
android:layout_marginStart="@dimen/dimen8dp"
android:insetLeft="0dp"
android:insetRight="0dp" />
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search" />
</LinearLayout>
@@ -5,6 +5,15 @@
android:layout_height="match_parent"
android:background="?attr/primaryBackgroundColor">
<com.google.android.material.loadingindicator.LoadingIndicator
android:id="@+id/expressive_loader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:elevation="@dimen/dimen4dp"
app:indicatorSize="@dimen/dimen48dp"
app:trackThickness="@dimen/dimen4dp" />
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/pullToRefresh"
android:layout_width="match_parent"
@@ -14,7 +23,6 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/primaryBackgroundColor"
android:clipToPadding="false">
<LinearLayout
@@ -91,14 +99,6 @@
android:layout_marginBottom="@dimen/dimen36dp"
android:visibility="gone" />
<com.google.android.material.loadingindicator.LoadingIndicator
android:id="@+id/expressive_loader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:indicatorSize="@dimen/dimen48dp"
app:trackThickness="@dimen/dimen4dp" />
<com.google.android.material.dockedtoolbar.DockedToolbarLayout
android:id="@+id/docked_toolbar"
android:layout_width="wrap_content"
@@ -110,7 +110,7 @@
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="@dimen/dimen32dp"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -122,32 +122,19 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/close"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:layout_marginEnd="@dimen/dimen4dp"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_arrow_back" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_reply"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/commentButtonText"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:layout_marginEnd="@dimen/dimen4dp"
app:icon="@drawable/ic_comment"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_comment" />
<View
android:layout_width="@dimen/dimen1dp"
@@ -158,17 +145,11 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_menu"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackgroundBorderless"
android:backgroundTint="@android:color/transparent"
android:contentDescription="@string/menuContentDesc"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
app:icon="@drawable/ic_dotted_menu"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp" />
app:icon="@drawable/ic_dotted_menu" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -21,7 +21,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -33,18 +33,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -62,9 +54,7 @@
android:text="@string/tabTextFiles"
android:textColor="?attr/primaryTextColor"
app:backgroundTint="@null"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_file"
android:minWidth="0dp"
android:layout_marginHorizontal="@dimen/dimen8dp"
android:paddingHorizontal="@dimen/dimen12dp" />
@@ -75,10 +65,8 @@
android:layout_height="wrap_content"
android:text="@string/commits"
android:textColor="?attr/primaryTextColor"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_commit"
app:backgroundTint="@null"
android:minWidth="0dp"
android:layout_marginHorizontal="@dimen/dimen8dp"
android:paddingHorizontal="@dimen/dimen12dp" />
@@ -92,18 +80,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_gravity="center_horizontal"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -116,7 +96,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -22,30 +22,25 @@
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior"
android:backgroundTint="?attr/colorSurfaceContainerHigh">
android:backgroundTint="?attr/colorSurfaceContainerHighest">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dimen8dp"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:icon="@drawable/ic_arrow_back"
android:backgroundTint="@android:color/transparent"
android:insetLeft="0dp"
android:insetRight="0dp" />
app:icon="@drawable/ic_arrow_back" />
<HorizontalScrollView
android:id="@+id/dock_scroll_view"
android:layout_width="232dp"
android:layout_width="@dimen/dimen224dp"
android:layout_height="match_parent"
android:scrollbars="none"
android:fadingEdgeLength="@dimen/dimen24dp"
@@ -63,7 +58,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_repo" />
<com.google.android.material.button.MaterialButton
@@ -71,15 +65,13 @@
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_document"
app:iconTint="?attr/primaryTextColor" />
app:icon="@drawable/ic_document" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_issues"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_issue" />
<com.google.android.material.button.MaterialButton
@@ -87,7 +79,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_pull_request" />
<com.google.android.material.button.MaterialButton
@@ -95,7 +86,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_release" />
<com.google.android.material.button.MaterialButton
@@ -103,7 +93,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_wiki" />
<com.google.android.material.button.MaterialButton
@@ -111,7 +100,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_milestone" />
<com.google.android.material.button.MaterialButton
@@ -119,7 +107,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_label" />
<com.google.android.material.button.MaterialButton
@@ -127,7 +114,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/Widget.Material3.Button.IconButton"
app:iconTint="?attr/primaryTextColor"
app:icon="@drawable/ic_person" />
</LinearLayout>
@@ -143,14 +129,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_dock_menu"
style="?attr/materialIconButtonStyle"
android:layout_width="@dimen/dimen48dp"
android:layout_height="@dimen/dimen48dp"
app:icon="@drawable/ic_dotted_menu"
android:backgroundTint="@android:color/transparent"
android:layout_marginStart="@dimen/dimen8dp"
android:insetLeft="0dp"
android:insetRight="0dp" />
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_dotted_menu" />
</LinearLayout>
@@ -48,7 +48,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -60,34 +60,18 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen8dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_gravity="center_horizontal"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -100,7 +84,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -41,7 +41,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -53,34 +53,18 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen8dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_gravity="center_horizontal"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -93,7 +77,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -49,7 +49,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -61,62 +61,34 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_new_repository"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/addButton" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_search"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_search"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/search" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_more"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_dotted_menu"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/menuContentDesc" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -129,7 +101,7 @@
android:layout_height="match_parent"
android:hint="@string/search"
app:navigationIcon="@drawable/ic_arrow_back"
app:backgroundTint="?attr/primaryBackgroundColor">
app:backgroundTint="?attr/colorSurface">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/search_results_recycler"
@@ -21,7 +21,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -33,49 +33,31 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:backgroundTint="@android:color/transparent"
android:layout_gravity="center_horizontal"
android:background="?attr/selectableItemBackgroundBorderless"
android:layout_marginEnd="@dimen/dimen4dp"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
app:icon="@drawable/ic_arrow_back" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_runners"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_actions_runner"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
app:icon="@drawable/ic_actions_runner" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_workflows"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_actions_workflow"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
app:icon="@drawable/ic_actions_workflow" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_nav_variables"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_actions_variable"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
app:icon="@drawable/ic_actions_variable" />
<View
android:id="@+id/dock_divider"
@@ -91,10 +73,7 @@
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_add"
app:iconTint="?attr/primaryTextColor"
android:paddingHorizontal="@dimen/dimen24dp"
android:minWidth="0dp" />
app:icon="@drawable/ic_add" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -61,7 +61,7 @@
app:paddingTopSystemWindowInsets="false"
android:layout_gravity="bottom|center_horizontal"
app:shapeAppearanceOverlay="@style/ShapeAppearance.RoundedDock"
android:backgroundTint="?attr/colorSurfaceContainerHigh"
android:backgroundTint="?attr/colorSurfaceContainerHighest"
app:layout_behavior="com.google.android.material.behavior.HideViewOnScrollBehavior">
<com.google.android.material.overflow.OverflowLinearLayout
@@ -73,17 +73,10 @@
<com.google.android.material.button.MaterialButton
android:id="@+id/btn_back"
style="?attr/materialIconButtonStyle"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:icon="@drawable/ic_arrow_back"
app:iconGravity="textStart"
app:iconPadding="@dimen/dimen0dp"
android:layout_gravity="center_horizontal"
android:backgroundTint="@android:color/transparent"
android:background="?attr/selectableItemBackgroundBorderless"
android:insetLeft="@dimen/dimen0dp"
android:insetRight="@dimen/dimen0dp"
android:contentDescription="@string/close" />
<View
@@ -103,8 +96,8 @@
android:layout_gravity="center_vertical|center_horizontal"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?attr/primaryTextColor"
android:layout_marginStart="@dimen/dimen8dp"
android:layout_marginEnd="@dimen/dimen8dp" />
android:layout_marginStart="@dimen/dimen12dp"
android:layout_marginEnd="@dimen/dimen12dp" />
</com.google.android.material.overflow.OverflowLinearLayout>
@@ -2,6 +2,7 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:backgroundTint="?attr/primaryBackgroundColor"
android:orientation="vertical">
</androidx.coordinatorlayout.widget.CoordinatorLayout>
@@ -133,7 +133,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen224dp"
android:gravity="top"
android:scrollbars="vertical"
android:paddingTop="@dimen/dimen40dp"
android:inputType="textMultiLine" />
@@ -120,7 +120,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen224dp"
android:gravity="top"
android:scrollbars="vertical"
android:paddingTop="@dimen/dimen40dp"
android:inputType="textMultiLine" />
@@ -84,6 +84,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen24dp"
android:hint="@string/labelName"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -101,13 +103,18 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/description"
app:counterEnabled="true"
app:counterMaxLength="100"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/labelDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -66,6 +66,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/title"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -108,14 +110,15 @@
android:hint="@string/description"
app:counterEnabled="true"
app:counterMaxLength="255"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/milestoneDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:minHeight="@dimen/dimen120dp"
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -65,6 +65,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/userUserName"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -83,6 +85,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/userFullNameText"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -101,6 +105,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/userEmail"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -121,14 +127,16 @@
android:hint="@string/newOrgDescTintCopy"
app:counterEnabled="true"
app:counterMaxLength="255"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/orgDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:maxLines="3" />
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -147,6 +155,8 @@
android:layout_marginEnd="@dimen/dimen4dp"
android:layout_weight="1"
android:hint="@string/locationText"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -165,6 +175,8 @@
android:layout_marginStart="@dimen/dimen4dp"
android:layout_weight="1"
android:hint="@string/websiteText"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -99,7 +99,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen224dp"
android:gravity="top"
android:scrollbars="vertical"
android:paddingTop="@dimen/dimen40dp"
android:inputType="textMultiLine" />
@@ -165,7 +165,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dimen224dp"
android:gravity="top"
android:scrollbars="vertical"
android:paddingTop="@dimen/dimen40dp"
android:inputType="textMultiLine" />
@@ -87,6 +87,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/newRepoTintCopy"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
@@ -105,6 +106,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/default_branch"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -143,15 +146,16 @@
android:hint="@string/newRepoDescTintCopy"
app:counterEnabled="true"
app:counterMaxLength="255"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/newRepoDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textMultiLine"
android:minLines="3" />
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -77,6 +77,7 @@
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/name"
app:boxStrokeErrorColor="@color/darkRed"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:helperText="@string/variable_name_helper"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
@@ -99,18 +100,17 @@
android:layout_marginTop="@dimen/dimen16dp"
android:hint="@string/value"
app:boxStrokeErrorColor="@color/darkRed"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:helperText="@string/variable_value_helper"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/variable_value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textCapSentences|textMultiLine"
android:minHeight="@dimen/dimen100dp"
android:scrollbars="vertical" />
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -122,18 +122,17 @@
android:layout_marginTop="@dimen/dimen16dp"
android:hint="@string/description"
app:boxStrokeErrorColor="@color/darkRed"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:helperText="@string/optional"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/variable_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textCapSentences|textMultiLine"
android:minHeight="@dimen/dimen100dp"
android:scrollbars="vertical" />
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -65,6 +65,8 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/newTeamTitle"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -83,14 +85,16 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen12dp"
android:hint="@string/description"
app:endIconTint="?attr/iconsColor"
app:endIconMode="clear_text"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
<org.mian.gitnex.views.AccessibleEditText
android:id="@+id/teamDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:singleLine="true" />
android:layout_height="@dimen/dimen120dp"
android:gravity="top|start"
android:inputType="textMultiLine" />
</com.google.android.material.textfield.TextInputLayout>
@@ -73,8 +73,11 @@
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dimen16dp"
android:hint="@string/proxy_username_hint"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium"
app:startIconDrawable="@drawable/ic_person">
app:startIconDrawable="@drawable/ic_person"
app:startIconTint="?attr/iconsColor">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/proxyUsername"
@@ -93,8 +96,10 @@
android:layout_marginBottom="@dimen/dimen24dp"
android:hint="@string/proxy_password_hint"
app:endIconMode="password_toggle"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium"
app:startIconDrawable="@drawable/ic_lock">
app:startIconDrawable="@drawable/ic_lock"
app:startIconTint="?attr/iconsColor">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/proxyPassword"
@@ -76,6 +76,7 @@
android:hint="@string/newRepoTintCopy"
app:helperText="@string/typeRepoNameToConfirm"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -62,6 +62,7 @@
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/newRepoTintCopy"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -80,6 +81,7 @@
android:layout_marginTop="@dimen/dimen16dp"
android:hint="@string/websiteText"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -98,6 +100,7 @@
android:layout_marginTop="@dimen/dimen16dp"
android:hint="@string/newRepoDescTintCopy"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -76,6 +76,7 @@
android:hint="@string/newRepoTintCopy"
app:helperText="@string/typeRepoNameToConfirm"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
@@ -94,6 +95,7 @@
android:layout_marginTop="@dimen/dimen8dp"
android:hint="@string/repoTransferOwnerText"
app:endIconMode="clear_text"
app:endIconTint="?attr/iconsColor"
app:shapeAppearance="@style/ShapeAppearance.Material3.Corner.Medium">
<com.google.android.material.textfield.TextInputEditText
+2 -3
View File
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -56,4 +55,4 @@
</com.google.android.material.search.SearchView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</FrameLayout>
@@ -4,8 +4,7 @@
android:id="@+id/nestedScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:background="?attr/primaryBackgroundColor">
android:clipToPadding="false">
<LinearLayout
android:layout_width="match_parent"
+2 -2
View File
@@ -28,8 +28,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen16dp"
android:textAppearance="@style/TextAppearance.Material3.TitleSmall.Emphasized"
android:textStyle="bold"
android:textColor="?attr/colorOnSurface" />
android:textStyle="bold" />
<TextView
android:id="@+id/tileSubtitle"
@@ -37,6 +36,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dimen4dp"
android:alpha=".7"
android:textColor="?android:attr/textColorSecondary"
android:textAppearance="@style/TextAppearance.Material3.BodySmall" />
</LinearLayout>
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.listitem.ListItemLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.listitem.ListItemCardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:checkable="false"
android:layout_marginVertical="@dimen/dimen1dp"
app:strokeWidth="0dp"
app:cardBackgroundColor="?attr/materialCardBackgroundColor">
<TextView
android:id="@+id/breadcrumb_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/dimen12dp"
android:paddingHorizontal="@dimen/dimen4dp"
android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
android:textColor="?attr/colorOnSurface"
android:textIsSelectable="false" />
</com.google.android.material.listitem.ListItemCardView>
</com.google.android.material.listitem.ListItemLayout>
@@ -24,7 +24,7 @@
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dimen16dp"
android:paddingVertical="@dimen/dimen16dp"
android:background="?attr/colorSurfaceVariant">
android:background="?attr/colorSurfaceContainerHigh">
<ImageView
android:layout_width="@dimen/dimen20dp"
@@ -70,8 +70,8 @@
<ImageView
android:id="@+id/deleteEmail"
android:layout_width="@dimen/dimen24dp"
android:layout_height="@dimen/dimen24dp"
android:layout_width="@dimen/dimen20dp"
android:layout_height="@dimen/dimen20dp"
android:contentDescription="@string/generalImgContentText"
app:srcCompat="@drawable/ic_delete"
app:tint="?attr/colorError" />
-21
View File
@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_graph"
app:startDestination="@id/homeDashboardFragment">
<fragment
android:id="@+id/homeDashboardFragment"
android:name="org.mian.gitnex.fragments.HomeDashboardFragment"
android:label="Dashboard" />
<fragment
android:id="@+id/repositoriesFragment"
android:name="org.mian.gitnex.fragments.RepositoriesFragment"
android:label="Repositories" />
<fragment
android:id="@+id/notificationsFragment"
android:name="org.mian.gitnex.fragments.NotificationsFragment"
android:label="Notifications" />
</navigation>
+4 -4
View File
@@ -10,7 +10,7 @@
<color name="blurColor">#41818181</color>
<color name="btnBackground">#009486</color>
<color name="btnTextColor">#ffffff</color>
<color name="inputBackground">#1d1d1d</color>
<color name="inputBackground">#121212</color>
<color name="inputSelected">#3A3A3A</color>
<color name="toastBackground">#1d1d1d</color>
<color name="releasePre">#f2711c</color>
@@ -29,7 +29,7 @@
<color name="lightYellow">#efd34a</color>
<color name="warningColor">#dbb109</color>
<color name="colorSecondaryContainer">#2A322E</color>
<color name="cardBackground">#1e2221</color>
<color name="cardBackground">#1C2120</color>
<color name="reaction_selected_overlay">#334CAF50</color>
<color name="lightThemeDiffRemovedColor">#FCEDED</color>
@@ -42,7 +42,7 @@
<color name="lightThemeInputTextColor">#212121</color>
<color name="lightThemeDividerColor">#dbdbdb</color>
<color name="lightThemeColorSecondaryContainer">#D9E1DF</color>
<color name="lightThemeCardBackground">#ffffff</color>
<color name="lightThemeCardBackground">#FFFDFC</color>
<color name="retroThemeDiffRemovedColor">#fad6d6</color>
<color name="retroThemeDiffAddedColor">#d0f7d9</color>
@@ -55,7 +55,7 @@
<color name="retroThemeDividerColor">#dbdbdb</color>
<color name="retroThemeColorPrimary">#6200EE</color>
<color name="retroThemeColorSecondary">#03DAC6</color>
<color name="retroThemeCardBackground">#ffffff</color>
<color name="retroThemeCardBackground">#FFFDFC</color>
<color name="iconPrMergedColor">#a333c8</color>
<color name="iconIssuePrClosedColor">#db2828</color>
+1 -1
View File
@@ -38,6 +38,7 @@
<string name="discover_apps" translatable="false">Discover More Apps</string>
<string name="source_ref_hint" translatable="false">e.g., main, develop, or a commit SHA</string>
<string name="version_format_hint" translatable="false">e.g., 1.26.1 (Gitea) or 15.0.0 (Forgejo)</string>
<string name="cursor_position_format" translatable="false">Ln %d, Col %d</string>
<string name="navMyRepos">My Repositories</string>
<string name="navStarredRepos">Starred Repositories</string>
@@ -680,7 +681,6 @@
<string name="select_branch_error">Please select a branch</string>
<string name="create_pull_request_with_branch">Create pull request with this branch</string>
<string name="tap_to_upload_file">Tap to select a file</string>
<string name="cursor_position_format">Ln %d, Col %d</string>
<string name="image_load_error">Could not load image</string>
<string name="invalid_user">Invalid user</string>
<string name="dashboard_my_prs_sub_title">Browse and manage all your pull requests with search and filters</string>
+1 -1
View File
@@ -236,7 +236,7 @@
<style name="AppThemeDynamicSystem" parent="AppThemeLightDynamicColors"/>
<style name="CustomChipFilter" parent="Widget.Material3.Chip.Filter">
<item name="chipBackgroundColor">?attr/materialCardBackgroundColor</item>
<item name="chipBackgroundColor">?attr/colorSurfaceContainerHighest</item>
<item name="chipStrokeWidth">0dp</item>
<item name="chipStrokeColor">@android:color/transparent</item>
<item name="android:textColor">?attr/primaryTextColor</item>