From 69dd399bd2163e4cc71491ba0046d4eea9b1e289 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Thu, 25 Aug 2016 11:38:19 -0300
Subject: [PATCH] Scroll down Adding Contact screen

Closes #616
---
 .../keyagreement/ChooseIdentityFragment.java    | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

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