diff --git a/app/src/main/java/org/mian/gitnex/activities/CreateMilestoneActivity.java b/app/src/main/java/org/mian/gitnex/activities/CreateMilestoneActivity.java index ace22984..b967a393 100644 --- a/app/src/main/java/org/mian/gitnex/activities/CreateMilestoneActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/CreateMilestoneActivity.java @@ -196,9 +196,7 @@ public class CreateMilestoneActivity extends BaseActivity implements View.OnClic if (response.code() == 201) { - Intent result = new Intent(); - result.putExtra("milestoneCreated", true); - setResult(201, result); + RepoDetailActivity.updateFABActions = true; Toasty.success(ctx, getString(R.string.milestoneCreated)); enableProcessButton(); finish(); diff --git a/app/src/main/java/org/mian/gitnex/activities/MainActivity.java b/app/src/main/java/org/mian/gitnex/activities/MainActivity.java index d04a96e7..9d391cda 100644 --- a/app/src/main/java/org/mian/gitnex/activities/MainActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/MainActivity.java @@ -638,10 +638,6 @@ public class MainActivity extends BaseActivity .beginTransaction() .replace(R.id.fragment_container, new SettingsFragment()) .commit(); - } else if (id == R.id.nav_logout) { - - AppUtil.logout(ctx); - overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); } else if (id == R.id.nav_starred_repos) { toolbarTitle.setText(getResources().getString(R.string.pageTitleStarredRepos)); diff --git a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java index 28884029..107af03e 100644 --- a/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/RepoDetailActivity.java @@ -86,7 +86,7 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe private FragmentRefreshListener fragmentRefreshListener; private FragmentRefreshListener fragmentRefreshListenerPr; private FragmentRefreshListener fragmentRefreshListenerMilestone; - private final ActivityResultLauncher createMilestoneLauncher = + /*private final ActivityResultLauncher createMilestoneLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), result -> { @@ -99,7 +99,7 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe } } } - }); + });*/ private FragmentRefreshListener fragmentRefreshListenerFiles; private final ActivityResultLauncher editFileLauncher = registerForActivityResult( @@ -295,8 +295,8 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe startActivity(repository.getIntent(ctx, CreateIssueActivity.class)); break; case "newMilestone": - createMilestoneLauncher.launch( - repository.getIntent(ctx, CreateMilestoneActivity.class)); + /*createMilestoneLauncher.launch( + repository.getIntent(ctx, CreateMilestoneActivity.class));*/ break; case "addCollaborator": startActivity(repository.getIntent(ctx, AddCollaboratorToRepositoryActivity.class)); @@ -810,8 +810,7 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe break; case "milestonesNew": viewPager.setCurrentItem(6); - createMilestoneLauncher.launch( - repository.getIntent(ctx, CreateMilestoneActivity.class)); + startActivity(repository.getIntent(ctx, CreateMilestoneActivity.class)); break; case "labels": viewPager.setCurrentItem(7); diff --git a/app/src/main/java/org/mian/gitnex/fragments/MilestonesFragment.java b/app/src/main/java/org/mian/gitnex/fragments/MilestonesFragment.java index c159eacc..108d97da 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/MilestonesFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/MilestonesFragment.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.List; import org.gitnex.tea4j.v2.models.Milestone; import org.mian.gitnex.R; +import org.mian.gitnex.activities.CreateMilestoneActivity; import org.mian.gitnex.activities.RepoDetailActivity; import org.mian.gitnex.adapters.MilestonesAdapter; import org.mian.gitnex.databinding.FragmentMilestonesBinding; @@ -62,6 +63,9 @@ public class MilestonesFragment extends Fragment { Context ctx = getContext(); milestonesViewModel = new ViewModelProvider(this).get(MilestonesViewModel.class); + boolean canPush = repository.getPermissions().isPush(); + boolean archived = repository.getRepository().isArchived(); + milestoneId = requireActivity().getIntent().getStringExtra("milestoneId"); requireActivity().getIntent().removeExtra("milestoneId"); @@ -107,10 +111,27 @@ public class MilestonesFragment extends Fragment { repository.getOwner(), repository.getName(), milestoneState); }); + if (!canPush || archived) { + viewBinding.createNewMilestone.setVisibility(View.GONE); + } + + viewBinding.createNewMilestone.setOnClickListener( + v13 -> startActivity(repository.getIntent(ctx, CreateMilestoneActivity.class))); + fetchDataAsync(repository.getOwner(), repository.getName(), state); return viewBinding.getRoot(); } + @Override + public void onResume() { + super.onResume(); + + if (RepoDetailActivity.updateFABActions) { + fetchDataAsync(repository.getOwner(), repository.getName(), state); + RepoDetailActivity.updateFABActions = false; + } + } + private void fetchDataAsync(String repoOwner, String repoName, String state) { milestonesViewModel diff --git a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java index 0d2787b4..b2e1086a 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java @@ -82,6 +82,11 @@ public class SettingsFragment extends Fragment { fragmentSettingsBinding.aboutAppFrame.setOnClickListener(aboutApp -> showAboutAppDialog()); + fragmentSettingsBinding.navLogout.setOnClickListener(logout -> { + AppUtil.logout(ctx); + requireActivity().overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); + }); + return fragmentSettingsBinding.getRoot(); } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 246e087e..8ff16694 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -48,7 +48,7 @@ android:id="@+id/nav_view" app:headerLayout="@layout/nav_header" android:background="?attr/primaryBackgroundColor" - app:itemIconTint="?attr/primaryTextColor" + app:itemIconTint="?attr/iconsColor" app:itemTextColor="?attr/primaryTextColor" app:menu="@menu/drawer_menu"/> diff --git a/app/src/main/res/layout/fragment_milestones.xml b/app/src/main/res/layout/fragment_milestones.xml index eea8f806..52207cb8 100644 --- a/app/src/main/res/layout/fragment_milestones.xml +++ b/app/src/main/res/layout/fragment_milestones.xml @@ -1,5 +1,6 @@ - + android:layout_height="match_parent" + android:clipToPadding="false" + android:paddingBottom="@dimen/dimen72dp"/> @@ -47,11 +50,24 @@ android:id="@+id/noDataMilestone" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_margin="15dp" + android:layout_margin="@dimen/dimen16dp" android:gravity="center" android:text="@string/noDataFound" android:textColor="?attr/primaryTextColor" - android:textSize="18sp" + android:textSize="@dimen/dimen18sp" android:visibility="gone"/> - + + + diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index e6bc82c3..bade5151 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -456,11 +456,11 @@ android:id="@+id/aboutAppFrame" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="5dp" + android:layout_marginBottom="@dimen/dimen6dp" android:background="?android:attr/selectableItemBackground" android:gravity="center_vertical" android:orientation="horizontal" - android:padding="15dp"> + android:padding="@dimen/dimen16dp"> @@ -480,22 +480,60 @@ android:id="@+id/aboutApp" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingStart="12dp" - android:paddingEnd="12dp" + android:paddingStart="@dimen/dimen12dp" + android:paddingEnd="@dimen/dimen12dp" android:text="@string/navAbout" android:textColor="?attr/primaryTextColor" - android:textSize="18sp"/> + android:textSize="@dimen/dimen18sp"/> + android:textSize="@dimen/dimen12sp"/> + + + + + + + + + + + + diff --git a/app/src/main/res/menu/drawer_menu.xml b/app/src/main/res/menu/drawer_menu.xml index 8340a5b5..7bf01c41 100644 --- a/app/src/main/res/menu/drawer_menu.xml +++ b/app/src/main/res/menu/drawer_menu.xml @@ -68,10 +68,6 @@ android:icon="@drawable/ic_settings" android:title="@string/navSettings"/> - -