Skip to content

Commit

Permalink
Tried to fix the menu
Browse files Browse the repository at this point in the history
  • Loading branch information
arepina committed Dec 29, 2017
1 parent ce9fb35 commit ee9cd86
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 31 deletions.
5 changes: 5 additions & 0 deletions app/src/main/java/com/github/mobile/RequestCodes.java
Original file line number Diff line number Diff line change
Expand Up @@ -114,4 +114,9 @@ public interface RequestCodes {
* Request to view milestone
*/
int MILESTONE_VIEW = 16;

/**
* Request to edit milestone
*/
int MILESTONE_EDIT = 17;
}
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
package com.github.mobile.ui.milestone;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.github.mobile.R;
import com.github.mobile.ui.DialogFragment;

import org.eclipse.egit.github.core.Milestone;
import org.eclipse.egit.github.core.RepositoryId;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import static com.github.mobile.Intents.EXTRA_MILESTONE;

/**
* Created by Александр on 20.12.2017.
*/
import static com.github.mobile.Intents.EXTRA_REPOSITORY_NAME;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_OWNER;
import static com.github.mobile.RequestCodes.MILESTONE_EDIT;

public class MilestoneFragment extends DialogFragment {
private Milestone milestone;
Expand All @@ -33,6 +35,8 @@ public class MilestoneFragment extends DialogFragment {
private ProgressBar milestoneProgress;
private TextView milestoneProgressPercentage;

private RepositoryId repositoryId;

@Override
public void onAttach(Context context) {
super.onAttach(context);
Expand All @@ -46,6 +50,16 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
return inflater.inflate(R.layout.repo_milestone_item, null);
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Bundle args = getArguments();
repositoryId = RepositoryId.create(
args.getString(EXTRA_REPOSITORY_OWNER),
args.getString(EXTRA_REPOSITORY_NAME));
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Expand All @@ -68,15 +82,28 @@ public void onActivityCreated(Bundle savedInstanceState) {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// case R.id.m_edit:
// if (issue != null) {
// Intent intent = EditIssueActivity.createIntent(issue,
// repositoryId.getOwner(), repositoryId.getName(), user);
// startActivityForResult(intent, ISSUE_EDIT);
// }
// return true;
case R.id.m_edit:
if (milestone != null) {
Intent intent = EditMilestoneActivity.createIntent(milestone,
repositoryId.getOwner(), repositoryId.getName());
startActivityForResult(intent, MILESTONE_EDIT);
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}

@Override
public void onCreateOptionsMenu(Menu optionsMenu, MenuInflater inflater) {
inflater.inflate(R.menu.milestone_view, optionsMenu);
MenuItem editItem = optionsMenu.findItem(R.id.m_edit);
if (editItem != null) {
boolean canEdit = false;
if (milestone != null)
canEdit = true;
editItem.setVisible(canEdit);
}
return true;
}

private void updateMilestone(final Milestone milestone){
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,29 @@
package com.github.mobile.ui.milestone;

import android.app.FragmentManager;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.ActionBar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.TextView;
import android.widget.ToggleButton;

import com.github.mobile.Intents;
import com.github.mobile.R;
import com.github.mobile.core.issue.IssueFilter;
import com.github.mobile.ui.DialogFragmentActivity;
import com.github.mobile.ui.issue.IssuesFragment;
import com.github.mobile.ui.repo.RepositoryViewActivity;

import org.eclipse.egit.github.core.Milestone;
import org.eclipse.egit.github.core.Repository;
import org.eclipse.egit.github.core.User;

import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
import static android.content.Intent.FLAG_ACTIVITY_SINGLE_TOP;
import static com.github.mobile.Intents.EXTRA_ISSUE_FILTER;
import static com.github.mobile.Intents.EXTRA_MILESTONE;
import static com.github.mobile.Intents.EXTRA_REPOSITORY;
import static com.github.mobile.RequestCodes.MILESTONE_VIEW;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_NAME;
import static com.github.mobile.Intents.EXTRA_REPOSITORY_OWNER;
import static com.github.mobile.Intents.EXTRA_USER;

/**
* Created by Александр on 20.12.2017.
*/

public class MilestoneViewActivity extends DialogFragmentActivity {
/**
Expand Down Expand Up @@ -66,6 +56,16 @@ protected void onCreate(Bundle savedInstanceState) {
actionBar.setDisplayHomeAsUpEnabled(true);

MilestoneFragment milestoneFragment = new MilestoneFragment();

Bundle args = new Bundle();
if (repository != null) {
args.putString(EXTRA_REPOSITORY_NAME, repository.getName());
User owner = repository.getOwner();
args.putString(EXTRA_REPOSITORY_OWNER, owner.getLogin());
args.putSerializable(EXTRA_USER, owner);
}
milestoneFragment.setArguments(args);

IssuesFragment issuesFragment = new IssuesFragment();

IssueFilter filter = new IssueFilter(repository);
Expand All @@ -88,11 +88,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
finish();
return true;
case R.id.add_ms_menu_item:
//creating new milestone
Intent i = EditMilestoneActivity.createIntent(repository);
i.addFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
return true;
//todo add issues to milestone
default:
return super.onOptionsItemSelected(item);
}
Expand Down
25 changes: 25 additions & 0 deletions app/src/main/res/menu/milestone_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2012 GitHub Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/m_edit"
android:title="@string/edit"
app:showAsAction="never" />

</menu>

0 comments on commit ee9cd86

Please sign in to comment.