Scroll down Adding Contact screen

Closes #616
This commit is contained in:
Torsten Grote
2016-08-25 11:38:19 -03:00
parent 8b7304f4cb
commit 69dd399bd2

View File

@@ -10,6 +10,7 @@ import android.view.View.OnClickListener;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ScrollView;
import android.widget.Spinner; import android.widget.Spinner;
import org.briarproject.R; import org.briarproject.R;
@@ -23,7 +24,6 @@ import org.briarproject.api.identity.AuthorId;
import org.briarproject.api.identity.IdentityManager; import org.briarproject.api.identity.IdentityManager;
import org.briarproject.api.identity.LocalAuthor; import org.briarproject.api.identity.LocalAuthor;
import java.util.Collection;
import java.util.logging.Logger; import java.util.logging.Logger;
import javax.inject.Inject; import javax.inject.Inject;
@@ -49,6 +49,7 @@ public class ChooseIdentityFragment extends BaseFragment
private IdentitySelectedListener lsnr; private IdentitySelectedListener lsnr;
private LocalAuthorSpinnerAdapter adapter; private LocalAuthorSpinnerAdapter adapter;
private ScrollView scrollView;
private Spinner spinner; private Spinner spinner;
private View button; private View button;
private AuthorId localAuthorId; private AuthorId localAuthorId;
@@ -99,6 +100,8 @@ public class ChooseIdentityFragment extends BaseFragment
public void onViewCreated(View view, Bundle savedInstanceState) { public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
scrollView = (ScrollView) view;
adapter = new LocalAuthorSpinnerAdapter(getActivity(), false); adapter = new LocalAuthorSpinnerAdapter(getActivity(), false);
spinner = (Spinner) view.findViewById(R.id.spinner); spinner = (Spinner) view.findViewById(R.id.spinner);
spinner.setAdapter(adapter); spinner.setAdapter(adapter);
@@ -127,12 +130,11 @@ public class ChooseIdentityFragment extends BaseFragment
public void run() { public void run() {
try { try {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
Collection<LocalAuthor> authors = LocalAuthor author = identityManager.getLocalAuthor();
identityManager.getLocalAuthors();
long duration = System.currentTimeMillis() - now; long duration = System.currentTimeMillis() - now;
if (LOG.isLoggable(INFO)) if (LOG.isLoggable(INFO))
LOG.info("Loading authors took " + duration + " ms"); LOG.info("Loading author took " + duration + " ms");
displayLocalAuthors(authors); displayLocalAuthor(author);
} catch (DbException e) { } catch (DbException e) {
if (LOG.isLoggable(WARNING)) if (LOG.isLoggable(WARNING))
LOG.log(WARNING, e.toString(), e); LOG.log(WARNING, e.toString(), e);
@@ -141,11 +143,11 @@ public class ChooseIdentityFragment extends BaseFragment
}); });
} }
private void displayLocalAuthors(final Collection<LocalAuthor> authors) { private void displayLocalAuthor(final LocalAuthor author) {
listener.runOnUiThread(new Runnable() { listener.runOnUiThread(new Runnable() {
@Override @Override
public void run() { public void run() {
setLocalAuthorId(authors.iterator().next().getId()); setLocalAuthorId(author.getId());
// TODO remove comment below when supporting multiple identities // TODO remove comment below when supporting multiple identities
/* adapter.clear(); /* adapter.clear();
for (LocalAuthor a : authors) for (LocalAuthor a : authors)
@@ -171,6 +173,7 @@ public class ChooseIdentityFragment extends BaseFragment
@Override @Override
public void run() { public void run() {
localAuthorId = authorId; localAuthorId = authorId;
scrollView.fullScroll(View.FOCUS_DOWN);
button.setEnabled(localAuthorId != null); button.setEnabled(localAuthorId != null);
} }
}); });