From 604542c19b11683d98e84badf648ea24f6e862fa Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Wed, 5 Oct 2016 16:59:17 +0100
Subject: [PATCH] Remove unused UI code and layouts.

---
 briar-android/AndroidManifest.xml             |  16 --
 .../res/layout/activity_create_blog.xml       |  69 ------
 .../res/layout/activity_create_identity.xml   |  50 -----
 .../res/layout/fragment_blogs_list.xml        |  26 ---
 .../android/ActivityComponent.java            |  10 +-
 .../android/blogs/BlogListAdapter.java        | 205 ------------------
 .../android/blogs/BlogListFragment.java       |  53 -----
 .../android/blogs/CreateBlogActivity.java     | 191 ----------------
 .../identity/CreateIdentityActivity.java      | 179 ---------------
 .../android/identity/LocalAuthorItem.java     |  19 --
 .../identity/LocalAuthorItemComparator.java   |  28 ---
 11 files changed, 1 insertion(+), 845 deletions(-)
 delete mode 100644 briar-android/res/layout/activity_create_blog.xml
 delete mode 100644 briar-android/res/layout/activity_create_identity.xml
 delete mode 100644 briar-android/res/layout/fragment_blogs_list.xml
 delete mode 100644 briar-android/src/org/briarproject/android/blogs/BlogListAdapter.java
 delete mode 100644 briar-android/src/org/briarproject/android/blogs/BlogListFragment.java
 delete mode 100644 briar-android/src/org/briarproject/android/blogs/CreateBlogActivity.java
 delete mode 100644 briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
 delete mode 100644 briar-android/src/org/briarproject/android/identity/LocalAuthorItem.java
 delete mode 100644 briar-android/src/org/briarproject/android/identity/LocalAuthorItemComparator.java

diff --git a/briar-android/AndroidManifest.xml b/briar-android/AndroidManifest.xml
index 21f18eb159..86c5239e54 100644
--- a/briar-android/AndroidManifest.xml
+++ b/briar-android/AndroidManifest.xml
@@ -184,16 +184,6 @@
 				/>
 		</activity>
 
-		<activity
-			android:name=".android.blogs.CreateBlogActivity"
-			android:label="@string/blogs_my_blogs_label"
-			android:parentActivityName=".android.NavDrawerActivity">
-			<meta-data
-				android:name="android.support.PARENT_ACTIVITY"
-				android:value=".android.NavDrawerActivity"
-				/>
-		</activity>
-
 		<activity
 			android:name=".android.blogs.BlogActivity"
 			android:parentActivityName=".android.NavDrawerActivity">
@@ -246,12 +236,6 @@
 				/>
 		</activity>
 
-		<activity
-			android:name=".android.identity.CreateIdentityActivity"
-			android:label="@string/new_identity_title"
-			android:windowSoftInputMode="stateVisible">
-		</activity>
-
 		<activity
 			android:name=".android.invitation.AddContactActivity"
 			android:label="@string/add_contact_title"
diff --git a/briar-android/res/layout/activity_create_blog.xml b/briar-android/res/layout/activity_create_blog.xml
deleted file mode 100644
index 31a1c3df85..0000000000
--- a/briar-android/res/layout/activity_create_blog.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ScrollView
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	xmlns:app="http://schemas.android.com/apk/res-auto"
-	xmlns:tools="http://schemas.android.com/tools"
-	android:layout_width="match_parent"
-	android:layout_height="match_parent">
-
-	<LinearLayout
-		android:layout_width="match_parent"
-		android:layout_height="wrap_content"
-		android:gravity="center_horizontal"
-		android:orientation="vertical"
-		android:padding="@dimen/margin_activity_horizontal"
-		tools:context=".android.blogs.CreateBlogActivity">
-
-		<android.support.design.widget.TextInputLayout
-			android:id="@+id/titleLayout"
-			android:layout_width="match_parent"
-			android:layout_height="wrap_content"
-			app:counterEnabled="true"
-			app:counterOverflowTextAppearance="@style/BriarTextCounter.Overflow">
-
-			<android.support.design.widget.TextInputEditText
-				android:id="@+id/titleInput"
-				android:layout_width="match_parent"
-				android:layout_height="wrap_content"
-				android:hint="@string/blogs_my_blogs_create_hint_title"/>
-
-		</android.support.design.widget.TextInputLayout>
-
-		<android.support.design.widget.TextInputLayout
-			android:id="@+id/descLayout"
-			android:layout_width="match_parent"
-			android:layout_height="wrap_content"
-			app:counterEnabled="true"
-			app:counterOverflowTextAppearance="@style/BriarTextCounter.Overflow">
-
-			<android.support.design.widget.TextInputEditText
-				android:id="@+id/descInput"
-				android:layout_width="match_parent"
-				android:layout_height="wrap_content"
-				android:hint="@string/blogs_my_blogs_create_hint_desc"/>
-
-		</android.support.design.widget.TextInputLayout>
-
-		<TextView
-			android:layout_width="match_parent"
-			android:layout_height="wrap_content"
-			android:text="@string/blogs_my_blogs_create_hint_desc_explanation"/>
-
-		<Button
-			android:id="@+id/createBlogButton"
-			style="@style/BriarButton"
-			android:layout_marginTop="@dimen/margin_activity_vertical"
-			android:enabled="false"
-			android:text="@string/blogs_my_blogs_create"/>
-
-		<ProgressBar
-			android:id="@+id/createBlogProgressBar"
-			android:layout_width="wrap_content"
-			android:layout_height="wrap_content"
-			android:layout_marginTop="@dimen/margin_activity_vertical"
-			android:indeterminate="true"
-			android:visibility="gone"/>
-
-	</LinearLayout>
-
-</ScrollView>
\ No newline at end of file
diff --git a/briar-android/res/layout/activity_create_identity.xml b/briar-android/res/layout/activity_create_identity.xml
deleted file mode 100644
index 5919662cfb..0000000000
--- a/briar-android/res/layout/activity_create_identity.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	xmlns:app="http://schemas.android.com/apk/res-auto"
-	android:layout_width="match_parent"
-	android:layout_height="match_parent"
-	android:orientation="vertical"
-	android:padding="@dimen/margin_activity_horizontal">
-
-	<TextView
-		android:layout_width="wrap_content"
-		android:layout_height="wrap_content"
-		android:layout_gravity="center_horizontal"
-		android:text="@string/choose_nickname"
-		android:textSize="@dimen/text_size_large"/>
-
-	<android.support.design.widget.TextInputLayout
-		android:id="@+id/nicknameInputLayout"
-		android:layout_width="match_parent"
-		android:layout_height="wrap_content"
-		app:errorEnabled="true">
-
-		<EditText
-			android:id="@+id/nicknameEntry"
-			android:layout_width="match_parent"
-			android:layout_height="wrap_content"
-			android:layout_gravity="center_horizontal"
-			android:ems="10"
-			android:inputType="textPersonName"
-			android:maxLines="1"/>
-
-	</android.support.design.widget.TextInputLayout>
-
-	<Button
-		android:id="@+id/createIdentityButton"
-		style="@style/BriarButton"
-		android:layout_gravity="center_horizontal"
-		android:enabled="false"
-		android:text="@string/create_identity_button"/>
-
-	<ProgressBar
-		android:id="@+id/progressBar"
-		style="?android:attr/progressBarStyleLarge"
-		android:layout_width="wrap_content"
-		android:layout_height="wrap_content"
-		android:layout_gravity="center_horizontal"
-		android:indeterminate="true"
-		android:visibility="gone"/>
-
-</LinearLayout>
diff --git a/briar-android/res/layout/fragment_blogs_list.xml b/briar-android/res/layout/fragment_blogs_list.xml
deleted file mode 100644
index a552dc0fce..0000000000
--- a/briar-android/res/layout/fragment_blogs_list.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- This is just a placeholder to be replaced by the real My Blogs list -->
-<LinearLayout
-	xmlns:android="http://schemas.android.com/apk/res/android"
-	xmlns:tools="http://schemas.android.com/tools"
-	android:layout_width="match_parent"
-	android:layout_height="match_parent"
-	android:orientation="vertical">
-
-	<TextView
-		android:id="@+id/num"
-		android:layout_width="match_parent"
-		android:layout_height="wrap_content"
-		android:gravity="center_horizontal"
-		android:padding="@dimen/margin_activity_horizontal"
-		android:textSize="128sp"
-		tools:text="1"/>
-
-	<TextView
-		android:layout_width="wrap_content"
-		android:layout_height="wrap_content"
-		android:padding="@dimen/margin_activity_horizontal"
-		android:text="There is nothing for you to see here.\n\nMove along and come back later."
-		android:textSize="@dimen/text_size_large"/>
-
-</LinearLayout>
\ No newline at end of file
diff --git a/briar-android/src/org/briarproject/android/ActivityComponent.java b/briar-android/src/org/briarproject/android/ActivityComponent.java
index 3fbe8d3f27..990aea7a2e 100644
--- a/briar-android/src/org/briarproject/android/ActivityComponent.java
+++ b/briar-android/src/org/briarproject/android/ActivityComponent.java
@@ -4,12 +4,10 @@ import android.app.Activity;
 
 import org.briarproject.android.blogs.BlogActivity;
 import org.briarproject.android.blogs.BlogFragment;
-import org.briarproject.android.blogs.BlogListFragment;
 import org.briarproject.android.blogs.BlogPostFragment;
 import org.briarproject.android.blogs.BlogPostPagerFragment;
-import org.briarproject.android.blogs.CreateBlogActivity;
-import org.briarproject.android.blogs.FeedPostFragment;
 import org.briarproject.android.blogs.FeedFragment;
+import org.briarproject.android.blogs.FeedPostFragment;
 import org.briarproject.android.blogs.FeedPostPagerFragment;
 import org.briarproject.android.blogs.ReblogActivity;
 import org.briarproject.android.blogs.ReblogFragment;
@@ -21,7 +19,6 @@ import org.briarproject.android.contact.ConversationActivity;
 import org.briarproject.android.forum.CreateForumActivity;
 import org.briarproject.android.forum.ForumActivity;
 import org.briarproject.android.forum.ForumListFragment;
-import org.briarproject.android.identity.CreateIdentityActivity;
 import org.briarproject.android.introduction.ContactChooserFragment;
 import org.briarproject.android.introduction.IntroductionActivity;
 import org.briarproject.android.introduction.IntroductionMessageFragment;
@@ -70,8 +67,6 @@ public interface ActivityComponent {
 
 	void inject(ConversationActivity activity);
 
-	void inject(CreateIdentityActivity activity);
-
 	void inject(InvitationsForumActivity activity);
 
 	void inject(InvitationsBlogActivity activity);
@@ -88,8 +83,6 @@ public interface ActivityComponent {
 
 	void inject(ForumActivity activity);
 
-	void inject(CreateBlogActivity activity);
-
 	void inject(BlogActivity activity);
 
 	void inject(WriteBlogPostActivity activity);
@@ -122,7 +115,6 @@ public interface ActivityComponent {
 	// Fragments
 	void inject(ContactListFragment fragment);
 	void inject(ForumListFragment fragment);
-	void inject(BlogListFragment fragment);
 	void inject(FeedFragment fragment);
 	void inject(IntroFragment fragment);
 	void inject(ShowQrCodeFragment fragment);
diff --git a/briar-android/src/org/briarproject/android/blogs/BlogListAdapter.java b/briar-android/src/org/briarproject/android/blogs/BlogListAdapter.java
deleted file mode 100644
index 590a24fba8..0000000000
--- a/briar-android/src/org/briarproject/android/blogs/BlogListAdapter.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package org.briarproject.android.blogs;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.support.annotation.Nullable;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.app.ActivityOptionsCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.util.SortedList;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import org.briarproject.R;
-import org.briarproject.android.util.AndroidUtils;
-import org.briarproject.android.view.TextAvatarView;
-import org.briarproject.api.blogs.Blog;
-import org.briarproject.api.sync.GroupId;
-
-import java.util.Collection;
-
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-import static org.briarproject.android.BriarActivity.GROUP_ID;
-import static org.briarproject.android.blogs.BlogActivity.BLOG_NAME;
-
-class BlogListAdapter extends
-		RecyclerView.Adapter<BlogListAdapter.BlogViewHolder> {
-
-	private SortedList<BlogItem> blogs = new SortedList<>(
-			BlogItem.class, new SortedList.Callback<BlogItem>() {
-
-		@Override
-		public int compare(BlogItem a, BlogItem b) {
-			if (a == b) return 0;
-			// The blog with the newest message comes first
-			long aTime = a.getTimestamp(), bTime = b.getTimestamp();
-			if (aTime > bTime) return -1;
-			if (aTime < bTime) return 1;
-			// Break ties by blog name
-			String aName = a.getName();
-			String bName = b.getName();
-			return String.CASE_INSENSITIVE_ORDER.compare(aName, bName);
-		}
-
-		@Override
-		public void onInserted(int position, int count) {
-			notifyItemRangeInserted(position, count);
-		}
-
-		@Override
-		public void onRemoved(int position, int count) {
-			notifyItemRangeRemoved(position, count);
-		}
-
-		@Override
-		public void onMoved(int fromPosition, int toPosition) {
-			notifyItemMoved(fromPosition, toPosition);
-		}
-
-		@Override
-		public void onChanged(int position, int count) {
-			notifyItemRangeChanged(position, count);
-		}
-
-		@Override
-		public boolean areContentsTheSame(BlogItem a, BlogItem b) {
-			return a.getBlog().equals(b.getBlog()) &&
-					a.getTimestamp() == b.getTimestamp() &&
-					a.getUnreadCount() == b.getUnreadCount();
-		}
-
-		@Override
-		public boolean areItemsTheSame(BlogItem a, BlogItem b) {
-			return a.getBlog().equals(b.getBlog());
-		}
-	});
-
-	private final Activity ctx;
-
-	BlogListAdapter(Activity ctx) {
-		this.ctx = ctx;
-	}
-
-	@Override
-	public BlogViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-		View v = LayoutInflater.from(ctx).inflate(
-				R.layout.list_item_blog, parent, false);
-		return new BlogViewHolder(v);
-	}
-
-	@Override
-	public void onBindViewHolder(BlogViewHolder ui, int position) {
-		final BlogItem item = getItem(position);
-
-		// Avatar
-		ui.avatar.setText(item.getName().substring(0, 1));
-		ui.avatar.setBackgroundBytes(item.getBlog().getId().getBytes());
-		ui.avatar.setUnreadCount(item.getUnreadCount());
-
-		// Blog Name
-		ui.name.setText(item.getName());
-
-		// Post Count
-		int postCount = item.getPostCount();
-		ui.postCount.setText(ctx.getResources()
-				.getQuantityString(R.plurals.posts, postCount, postCount));
-		ui.postCount.setTextColor(
-				ContextCompat.getColor(ctx, R.color.briar_text_secondary));
-
-		// Date and Status
-		if (item.isEmpty()) {
-			ui.date.setVisibility(GONE);
-			ui.avatar.setProblem(true);
-			ui.status.setText(ctx.getString(R.string.blogs_blog_is_empty));
-			ui.status.setVisibility(VISIBLE);
-		} else {
-			long timestamp = item.getTimestamp();
-			ui.date.setText(AndroidUtils.formatDate(ctx, timestamp));
-			ui.date.setVisibility(VISIBLE);
-			ui.avatar.setProblem(false);
-			ui.status.setVisibility(GONE);
-		}
-
-		// Open Blog on Click
-		ui.layout.setOnClickListener(new View.OnClickListener() {
-			@Override
-			public void onClick(View v) {
-				Intent i = new Intent(ctx, BlogActivity.class);
-				Blog b = item.getBlog();
-				i.putExtra(GROUP_ID, b.getId().getBytes());
-				i.putExtra(BLOG_NAME, b.getName());
-				ActivityOptionsCompat options = ActivityOptionsCompat
-						.makeCustomAnimation(ctx, android.R.anim.fade_in,
-								android.R.anim.fade_out);
-				ActivityCompat.startActivity(ctx, i, options.toBundle());
-			}
-		});
-	}
-
-	@Override
-	public int getItemCount() {
-		return blogs.size();
-	}
-
-	public BlogItem getItem(int position) {
-		return blogs.get(position);
-	}
-
-	@Nullable
-	public BlogItem getItem(GroupId g) {
-		for (int i = 0; i < blogs.size(); i++) {
-			BlogItem item = blogs.get(i);
-			if (item.getBlog().getGroup().getId().equals(g)) {
-				return item;
-			}
-		}
-		return null;
-	}
-
-	public void addAll(Collection<BlogItem> items) {
-		blogs.addAll(items);
-	}
-
-	void updateItem(BlogItem item) {
-		BlogItem oldItem = getItem(item.getBlog().getGroup().getId());
-		int position = blogs.indexOf(oldItem);
-		blogs.updateItemAt(position, item);
-	}
-
-	public void remove(BlogItem item) {
-		blogs.remove(item);
-	}
-
-	public void clear() {
-		blogs.clear();
-	}
-
-	public boolean isEmpty() {
-		return blogs.size() == 0;
-	}
-
-	static class BlogViewHolder extends RecyclerView.ViewHolder {
-
-		private final ViewGroup layout;
-		private final TextAvatarView avatar;
-		private final TextView name;
-		private final TextView postCount;
-		private final TextView date;
-		private final TextView status;
-
-		BlogViewHolder(View v) {
-			super(v);
-
-			layout = (ViewGroup) v;
-			avatar = (TextAvatarView) v.findViewById(R.id.avatarView);
-			name = (TextView) v.findViewById(R.id.nameView);
-			postCount = (TextView) v.findViewById(R.id.postCountView);
-			date = (TextView) v.findViewById(R.id.dateView);
-			status = (TextView) v.findViewById(R.id.statusView);
-		}
-	}
-}
diff --git a/briar-android/src/org/briarproject/android/blogs/BlogListFragment.java b/briar-android/src/org/briarproject/android/blogs/BlogListFragment.java
deleted file mode 100644
index 61f3dff54a..0000000000
--- a/briar-android/src/org/briarproject/android/blogs/BlogListFragment.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.briarproject.android.blogs;
-
-import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import org.briarproject.R;
-import org.briarproject.android.ActivityComponent;
-import org.briarproject.android.fragment.BaseFragment;
-
-public class BlogListFragment extends BaseFragment {
-
-	public final static String TAG = BlogListFragment.class.getName();
-
-	static BlogListFragment newInstance(int num) {
-		BlogListFragment f = new BlogListFragment();
-
-		Bundle args = new Bundle();
-		args.putInt("num", num);
-		f.setArguments(args);
-
-		return f;
-	}
-
-	@Nullable
-	@Override
-	public View onCreateView(LayoutInflater inflater, ViewGroup container,
-			Bundle savedInstanceState) {
-
-		View v = inflater.inflate(R.layout.fragment_blogs_list, container,
-				false);
-
-		TextView numView = (TextView) v.findViewById(R.id.num);
-		String num = String.valueOf(getArguments().getInt("num"));
-		numView.setText(num);
-
-		return v;
-	}
-
-	@Override
-	public void injectFragment(ActivityComponent component) {
-		component.inject(this);
-	}
-
-	@Override
-	public String getUniqueTag() {
-		return TAG;
-	}
-
-}
diff --git a/briar-android/src/org/briarproject/android/blogs/CreateBlogActivity.java b/briar-android/src/org/briarproject/android/blogs/CreateBlogActivity.java
deleted file mode 100644
index 5bac574b5c..0000000000
--- a/briar-android/src/org/briarproject/android/blogs/CreateBlogActivity.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package org.briarproject.android.blogs;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.design.widget.TextInputEditText;
-import android.support.design.widget.TextInputLayout;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.app.ActivityOptionsCompat;
-import android.text.Editable;
-import android.text.TextWatcher;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import android.widget.TextView.OnEditorActionListener;
-
-import org.briarproject.R;
-import org.briarproject.android.ActivityComponent;
-import org.briarproject.android.BriarActivity;
-import org.briarproject.api.blogs.Blog;
-import org.briarproject.api.blogs.BlogManager;
-import org.briarproject.api.db.DbException;
-import org.briarproject.api.identity.IdentityManager;
-import org.briarproject.api.identity.LocalAuthor;
-import org.briarproject.util.StringUtils;
-
-import java.util.Collection;
-import java.util.logging.Logger;
-
-import javax.inject.Inject;
-
-import static android.support.v4.app.ActivityOptionsCompat.makeCustomAnimation;
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-import static java.util.logging.Level.INFO;
-import static java.util.logging.Level.WARNING;
-import static org.briarproject.android.blogs.BlogActivity.BLOG_NAME;
-import static org.briarproject.android.blogs.BlogActivity.IS_NEW_BLOG;
-import static org.briarproject.api.blogs.BlogConstants.MAX_BLOG_DESC_LENGTH;
-import static org.briarproject.api.blogs.BlogConstants.MAX_BLOG_TITLE_LENGTH;
-
-public class CreateBlogActivity extends BriarActivity
-		implements OnEditorActionListener, OnClickListener {
-
-	private static final Logger LOG =
-			Logger.getLogger(CreateBlogActivity.class.getName());
-
-	private TextInputEditText titleInput, descInput;
-	private Button button;
-	private ProgressBar progress;
-
-	// Fields that are accessed from background threads must be volatile
-	@Inject
-	protected volatile IdentityManager identityManager;
-	@Inject
-	volatile BlogManager blogManager;
-
-	@Override
-	public void onCreate(Bundle state) {
-		super.onCreate(state);
-
-		setContentView(R.layout.activity_create_blog);
-
-		TextInputLayout titleLayout =
-				(TextInputLayout) findViewById(R.id.titleLayout);
-		if (titleLayout != null) {
-			titleLayout.setCounterMaxLength(MAX_BLOG_TITLE_LENGTH);
-		}
-		titleInput = (TextInputEditText) findViewById(R.id.titleInput);
-		TextWatcher nameEntryWatcher = new TextWatcher() {
-			@Override
-			public void afterTextChanged(Editable s) {
-			}
-			@Override
-			public void beforeTextChanged(CharSequence s, int start, int count,
-					int after) {
-			}
-			@Override
-			public void onTextChanged(CharSequence text, int start,
-					int lengthBefore, int lengthAfter) {
-				enableOrDisableCreateButton();
-			}
-		};
-		titleInput.setOnEditorActionListener(this);
-		titleInput.addTextChangedListener(nameEntryWatcher);
-
-		TextInputLayout descLayout =
-				(TextInputLayout) findViewById(R.id.descLayout);
-		if (descLayout != null) {
-			descLayout.setCounterMaxLength(MAX_BLOG_DESC_LENGTH);
-		}
-		descInput = (TextInputEditText) findViewById(R.id.descInput);
-		if (descInput != null) {
-			descInput.addTextChangedListener(nameEntryWatcher);
-		}
-
-		button = (Button) findViewById(R.id.createBlogButton);
-		if (button != null) {
-			button.setOnClickListener(this);
-		}
-
-		progress = (ProgressBar) findViewById(R.id.createBlogProgressBar);
-	}
-
-	@Override
-	public void injectActivity(ActivityComponent component) {
-		component.inject(this);
-	}
-
-	private void enableOrDisableCreateButton() {
-		if (progress == null) return; // Not created yet
-		button.setEnabled(validateTitle() && validateDescription());
-	}
-
-	@Override
-	public boolean onEditorAction(TextView textView, int actionId, KeyEvent e) {
-		descInput.requestFocus();
-		return true;
-	}
-
-	private boolean validateTitle() {
-		String name = titleInput.getText().toString();
-		int length = StringUtils.toUtf8(name).length;
-		return length <= MAX_BLOG_TITLE_LENGTH && length > 0;
-	}
-
-	private boolean validateDescription() {
-		String name = descInput.getText().toString();
-		int length = StringUtils.toUtf8(name).length;
-		return length <= MAX_BLOG_DESC_LENGTH && length > 0;
-	}
-
-	@Override
-	public void onClick(View view) {
-		if (view == button) {
-			hideSoftKeyboard(view);
-			if (!validateTitle()) return;
-			button.setVisibility(GONE);
-			progress.setVisibility(VISIBLE);
-			addBlog(titleInput.getText().toString(),
-					descInput.getText().toString());
-		}
-	}
-
-	private void addBlog(final String title, final String description) {
-		runOnDbThread(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					long now = System.currentTimeMillis();
-					Collection<LocalAuthor> authors =
-							identityManager.getLocalAuthors();
-					// take first identity, don't support more for now
-					LocalAuthor author = authors.iterator().next();
-					Blog f = blogManager.addBlog(author, title, description);
-					long duration = System.currentTimeMillis() - now;
-					if (LOG.isLoggable(INFO))
-						LOG.info("Storing blog took " + duration + " ms");
-					displayBlog(f);
-				} catch (DbException e) {
-					// TODO show error, e.g. blog with same title exists
-					if (LOG.isLoggable(WARNING))
-						LOG.log(WARNING, e.toString(), e);
-					finishOnUiThread();
-				}
-			}
-		});
-	}
-
-	private void displayBlog(final Blog b) {
-		runOnUiThread(new Runnable() {
-			@Override
-			public void run() {
-				Intent i =
-						new Intent(CreateBlogActivity.this, BlogActivity.class);
-				i.putExtra(GROUP_ID, b.getId().getBytes());
-				i.putExtra(BLOG_NAME, b.getName());
-				i.putExtra(IS_NEW_BLOG, true);
-				ActivityOptionsCompat options =
-						makeCustomAnimation(CreateBlogActivity.this,
-								android.R.anim.fade_in,
-								android.R.anim.fade_out);
-				ActivityCompat.startActivity(CreateBlogActivity.this, i,
-						options.toBundle());
-				supportFinishAfterTransition();
-			}
-		});
-	}
-}
diff --git a/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java b/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
deleted file mode 100644
index c960bda8f7..0000000000
--- a/briar-android/src/org/briarproject/android/identity/CreateIdentityActivity.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.briarproject.android.identity;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.design.widget.TextInputLayout;
-import android.text.Editable;
-import android.text.TextWatcher;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-import android.widget.TextView.OnEditorActionListener;
-import android.widget.Toast;
-
-import org.briarproject.R;
-import org.briarproject.android.ActivityComponent;
-import org.briarproject.android.BriarActivity;
-import org.briarproject.android.util.AndroidUtils;
-import org.briarproject.api.crypto.CryptoComponent;
-import org.briarproject.api.crypto.CryptoExecutor;
-import org.briarproject.api.crypto.KeyPair;
-import org.briarproject.api.db.DbException;
-import org.briarproject.api.identity.AuthorFactory;
-import org.briarproject.api.identity.IdentityManager;
-import org.briarproject.api.identity.LocalAuthor;
-import org.briarproject.util.StringUtils;
-
-import java.util.concurrent.Executor;
-import java.util.logging.Logger;
-
-import javax.inject.Inject;
-
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-import static android.widget.Toast.LENGTH_LONG;
-import static java.util.logging.Level.INFO;
-import static java.util.logging.Level.WARNING;
-import static org.briarproject.api.identity.AuthorConstants.MAX_AUTHOR_NAME_LENGTH;
-
-public class CreateIdentityActivity extends BriarActivity
-		implements OnEditorActionListener, OnClickListener {
-
-	private static final Logger LOG =
-			Logger.getLogger(CreateIdentityActivity.class.getName());
-
-	@Inject
-	@CryptoExecutor
-	protected Executor cryptoExecutor;
-
-	private TextInputLayout nicknameInput;
-	private EditText nicknameEntry;
-	private Button createIdentityButton;
-	private ProgressBar progress;
-
-	// Fields that are accessed from background threads must be volatile
-	@Inject
-	protected volatile CryptoComponent crypto;
-	@Inject
-	protected volatile AuthorFactory authorFactory;
-	@Inject
-	protected volatile IdentityManager identityManager;
-
-	@Override
-	public void onCreate(Bundle state) {
-		super.onCreate(state);
-
-		setContentView(R.layout.activity_create_identity);
-
-		nicknameInput = (TextInputLayout) findViewById(R.id.nicknameInputLayout);
-		nicknameEntry = (EditText) findViewById(R.id.nicknameEntry);
-		nicknameEntry.addTextChangedListener(new TextWatcher() {
-			@Override
-			public void beforeTextChanged(CharSequence s, int start, int count,
-					int after) {}
-
-			@Override
-			public void onTextChanged(CharSequence s, int start, int before,
-					int count) {
-				enableOrDisableCreateButton();
-			}
-
-			@Override
-			public void afterTextChanged(Editable s) {}
-		});
-		nicknameEntry.setOnEditorActionListener(this);
-
-		createIdentityButton = (Button) findViewById(R.id.createIdentityButton);
-		if (createIdentityButton != null)
-			createIdentityButton.setOnClickListener(this);
-
-		progress = (ProgressBar) findViewById(R.id.progressBar);
-	}
-
-	@Override
-	public void injectActivity(ActivityComponent component) {
-		component.inject(this);
-	}
-
-	private void enableOrDisableCreateButton() {
-		if (progress == null) return; // Not created yet
-		createIdentityButton.setEnabled(validateNickname());
-	}
-
-	@Override
-	public boolean onEditorAction(TextView textView, int actionId, KeyEvent e) {
-		hideSoftKeyboard(textView);
-		return true;
-	}
-
-	private boolean validateNickname() {
-		String nickname = nicknameEntry.getText().toString();
-		int length = StringUtils.toUtf8(nickname).length;
-		if (length > MAX_AUTHOR_NAME_LENGTH) {
-			String str = getString(R.string.name_too_long);
-			AndroidUtils.setError(nicknameInput, str, true);
-			return false;
-		}
-		AndroidUtils.setError(nicknameInput, null, false);
-		return length > 0;
-	}
-
-	@Override
-	public void onClick(View view) {
-		hideSoftKeyboard(view);
-		if (!validateNickname()) return;
-		// Replace the button with a progress bar
-		createIdentityButton.setVisibility(GONE);
-		progress.setVisibility(VISIBLE);
-		// Create the identity in a background thread
-		final String nickname = nicknameEntry.getText().toString();
-		cryptoExecutor.execute(new Runnable() {
-			@Override
-			public void run() {
-				KeyPair keyPair = crypto.generateSignatureKeyPair();
-				final byte[] publicKey = keyPair.getPublic().getEncoded();
-				final byte[] privateKey = keyPair.getPrivate().getEncoded();
-				LocalAuthor a = authorFactory.createLocalAuthor(nickname,
-						publicKey, privateKey);
-				storeLocalAuthor(a);
-			}
-		});
-	}
-
-	private void storeLocalAuthor(final LocalAuthor a) {
-		dbController.runOnDbThread(new Runnable() {
-			@Override
-			public void run() {
-				try {
-					long now = System.currentTimeMillis();
-					identityManager.addLocalAuthor(a);
-					long duration = System.currentTimeMillis() - now;
-					if (LOG.isLoggable(INFO))
-						LOG.info("Storing author took " + duration + " ms");
-				} catch (DbException e) {
-					if (LOG.isLoggable(WARNING))
-						LOG.log(WARNING, e.toString(), e);
-				}
-				setResultAndFinish(a);
-			}
-		});
-	}
-
-	private void setResultAndFinish(final LocalAuthor a) {
-		runOnUiThread(new Runnable() {
-			@Override
-			public void run() {
-				Intent i = new Intent();
-				i.putExtra("briar.LOCAL_AUTHOR_ID", a.getId().getBytes());
-				setResult(RESULT_OK, i);
-				Toast.makeText(CreateIdentityActivity.this,
-						R.string.identity_created_toast, LENGTH_LONG).show();
-				finish();
-			}
-		});
-	}
-}
diff --git a/briar-android/src/org/briarproject/android/identity/LocalAuthorItem.java b/briar-android/src/org/briarproject/android/identity/LocalAuthorItem.java
deleted file mode 100644
index a005144f5e..0000000000
--- a/briar-android/src/org/briarproject/android/identity/LocalAuthorItem.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.briarproject.android.identity;
-
-import org.briarproject.api.identity.LocalAuthor;
-
-public class LocalAuthorItem {
-
-	public static final LocalAuthorItem ANONYMOUS = new LocalAuthorItem(null);
-	public static final LocalAuthorItem NEW = new LocalAuthorItem(null);
-
-	private final LocalAuthor localAuthor;
-
-	public LocalAuthorItem(LocalAuthor localAuthor) {
-		this.localAuthor = localAuthor;
-	}
-
-	public LocalAuthor getLocalAuthor() {
-		return localAuthor;
-	}
-}
diff --git a/briar-android/src/org/briarproject/android/identity/LocalAuthorItemComparator.java b/briar-android/src/org/briarproject/android/identity/LocalAuthorItemComparator.java
deleted file mode 100644
index 634d062e4c..0000000000
--- a/briar-android/src/org/briarproject/android/identity/LocalAuthorItemComparator.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.briarproject.android.identity;
-
-import static org.briarproject.android.identity.LocalAuthorItem.ANONYMOUS;
-import static org.briarproject.android.identity.LocalAuthorItem.NEW;
-
-import java.util.Comparator;
-
-public class LocalAuthorItemComparator implements Comparator<LocalAuthorItem> {
-
-	public static final LocalAuthorItemComparator INSTANCE =
-			new LocalAuthorItemComparator();
-
-	public int compare(LocalAuthorItem a, LocalAuthorItem b) {
-		if (a == b) return 0;
-		// NEW comes after everything else
-		if (a == NEW) return 1;
-		if (b == NEW) return -1;
-		// ANONYMOUS comes after everything else except NEW
-		if (a == ANONYMOUS) return 1;
-		if (b == ANONYMOUS) return -1;
-		// Sort items in order of creation, so the oldest item is the default
-		long aCreated = a.getLocalAuthor().getTimeCreated();
-		long bCreated = b.getLocalAuthor().getTimeCreated();
-		if (aCreated < bCreated) return -1;
-		if (aCreated > bCreated) return 1;
-		return 0;
-	}
-}
-- 
GitLab