Manage repo screen - constant sized list items, and update menu item.
This commit is contained in:
parent
9384bc093b
commit
8d44f6e444
@ -47,6 +47,7 @@ import java.util.*;
|
|||||||
public class ManageRepo extends ListActivity {
|
public class ManageRepo extends ListActivity {
|
||||||
|
|
||||||
private final int ADD_REPO = 1;
|
private final int ADD_REPO = 1;
|
||||||
|
private final int UPDATE_REPOS = 2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If we have a new repo added, or the address of a repo has changed, then
|
* If we have a new repo added, or the address of a repo has changed, then
|
||||||
@ -158,11 +159,19 @@ public class ManageRepo extends ListActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
super.onCreateOptionsMenu(menu);
|
super.onCreateOptionsMenu(menu);
|
||||||
|
|
||||||
|
MenuItem updateItem = menu.add(Menu.NONE, UPDATE_REPOS, 1,
|
||||||
|
R.string.menu_add_repo).setIcon(R.drawable.ic_menu_refresh);
|
||||||
|
MenuItemCompat.setShowAsAction(updateItem,
|
||||||
|
MenuItemCompat.SHOW_AS_ACTION_ALWAYS |
|
||||||
|
MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
|
||||||
|
|
||||||
MenuItem addItem = menu.add(Menu.NONE, ADD_REPO, 1, R.string.menu_add_repo).setIcon(
|
MenuItem addItem = menu.add(Menu.NONE, ADD_REPO, 1, R.string.menu_add_repo).setIcon(
|
||||||
android.R.drawable.ic_menu_add);
|
android.R.drawable.ic_menu_add);
|
||||||
MenuItemCompat.setShowAsAction(addItem,
|
MenuItemCompat.setShowAsAction(addItem,
|
||||||
MenuItemCompat.SHOW_AS_ACTION_IF_ROOM |
|
MenuItemCompat.SHOW_AS_ACTION_ALWAYS |
|
||||||
MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
|
MenuItemCompat.SHOW_AS_ACTION_WITH_TEXT);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,6 +259,10 @@ public class ManageRepo extends ListActivity {
|
|||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateRepos() {
|
||||||
|
UpdateService.updateNow(this);
|
||||||
|
}
|
||||||
|
|
||||||
private void showAddRepo() {
|
private void showAddRepo() {
|
||||||
showAddRepo(getNewRepoUri(), null);
|
showAddRepo(getNewRepoUri(), null);
|
||||||
}
|
}
|
||||||
@ -390,12 +403,15 @@ public class ManageRepo extends ListActivity {
|
|||||||
|
|
||||||
super.onMenuItemSelected(featureId, item);
|
super.onMenuItemSelected(featureId, item);
|
||||||
|
|
||||||
switch (item.getItemId()) {
|
if (item.getItemId() == ADD_REPO) {
|
||||||
case ADD_REPO:
|
|
||||||
showAddRepo();
|
showAddRepo();
|
||||||
|
return true;
|
||||||
|
} else if (item.getItemId() == UPDATE_REPOS) {
|
||||||
|
updateRepos();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -73,15 +73,23 @@ public class RepoAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
int unsignedVisibility = repository.isSigned() ? View.GONE : View.VISIBLE;
|
|
||||||
view.findViewById(R.id.repo_unsigned).setVisibility(unsignedVisibility);
|
|
||||||
|
|
||||||
TextView nameView = (TextView)view.findViewById(R.id.repo_name);
|
TextView nameView = (TextView)view.findViewById(R.id.repo_name);
|
||||||
nameView.setText(repository.getName());
|
nameView.setText(repository.getName());
|
||||||
RelativeLayout.LayoutParams nameViewLayout =
|
RelativeLayout.LayoutParams nameViewLayout =
|
||||||
(RelativeLayout.LayoutParams)nameView.getLayoutParams();
|
(RelativeLayout.LayoutParams)nameView.getLayoutParams();
|
||||||
nameViewLayout.addRule(RelativeLayout.LEFT_OF, switchView.getId());
|
nameViewLayout.addRule(RelativeLayout.LEFT_OF, switchView.getId());
|
||||||
|
|
||||||
|
// If we set the signed view to GONE instead of INVISIBLE, then the
|
||||||
|
// height of each list item varies.
|
||||||
|
View signedView = view.findViewById(R.id.repo_unsigned);
|
||||||
|
if (repository.isSigned()) {
|
||||||
|
nameViewLayout.addRule(RelativeLayout.CENTER_VERTICAL);
|
||||||
|
signedView.setVisibility(View.INVISIBLE);
|
||||||
|
} else {
|
||||||
|
nameViewLayout.addRule(RelativeLayout.ALIGN_PARENT_TOP);
|
||||||
|
signedView.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user