diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index a78e40ab..33c7e257 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -18,7 +18,7 @@
@@ -28,7 +28,8 @@
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3df12b64..1d9075fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,9 +15,9 @@
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
-
+
@@ -26,8 +26,8 @@
diff --git a/app/src/main/java/com/readrops/app/ItemActivity.java b/app/src/main/java/com/readrops/app/activities/ItemActivity.java
similarity index 98%
rename from app/src/main/java/com/readrops/app/ItemActivity.java
rename to app/src/main/java/com/readrops/app/activities/ItemActivity.java
index c15ad441..fd2d72a2 100644
--- a/app/src/main/java/com/readrops/app/ItemActivity.java
+++ b/app/src/main/java/com/readrops/app/activities/ItemActivity.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.activities;
import android.arch.lifecycle.ViewModelProvider;
import android.content.Intent;
@@ -18,6 +18,8 @@ import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.readrops.app.views.ItemViewModel;
+import com.readrops.app.R;
import com.readrops.app.database.pojo.ItemWithFeed;
import com.readrops.app.database.entities.Item;
import com.readrops.app.utils.DateUtils;
@@ -166,8 +168,6 @@ public class ItemActivity extends AppCompatActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.item_menu, menu);
-
-
return true;
}
diff --git a/app/src/main/java/com/readrops/app/MainActivity.java b/app/src/main/java/com/readrops/app/activities/MainActivity.java
similarity index 96%
rename from app/src/main/java/com/readrops/app/MainActivity.java
rename to app/src/main/java/com/readrops/app/activities/MainActivity.java
index 1df2a021..2525fab6 100644
--- a/app/src/main/java/com/readrops/app/MainActivity.java
+++ b/app/src/main/java/com/readrops/app/activities/MainActivity.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.activities;
import android.app.Dialog;
import android.arch.lifecycle.ViewModelProvider;
@@ -26,6 +26,11 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader;
import com.bumptech.glide.util.ViewPreloadSizeProvider;
import com.github.clans.fab.FloatingActionMenu;
+import com.readrops.app.views.AddFeedDialog;
+import com.readrops.app.views.MainItemListAdapter;
+import com.readrops.app.views.MainViewModel;
+import com.readrops.app.R;
+import com.readrops.app.views.SimpleCallback;
import com.readrops.app.database.pojo.ItemWithFeed;
import com.readrops.app.database.entities.Item;
import com.readrops.app.utils.GlideApp;
diff --git a/app/src/main/java/com/readrops/app/ManageFeedsActivity.java b/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java
similarity index 89%
rename from app/src/main/java/com/readrops/app/ManageFeedsActivity.java
rename to app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java
index 1728c542..316e33c6 100644
--- a/app/src/main/java/com/readrops/app/ManageFeedsActivity.java
+++ b/app/src/main/java/com/readrops/app/activities/ManageFeedsActivity.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.activities;
import android.arch.lifecycle.ViewModelProvider;
import android.os.Bundle;
@@ -8,6 +8,9 @@ import android.support.v7.widget.RecyclerView;
import com.mikepenz.fastadapter.FastAdapter;
import com.mikepenz.fastadapter.adapters.ModelAdapter;
+import com.readrops.app.views.FeedWithFolderItem;
+import com.readrops.app.views.ManageFeedsViewModel;
+import com.readrops.app.R;
import com.readrops.app.database.pojo.FeedWithFolder;
public class ManageFeedsActivity extends AppCompatActivity {
diff --git a/app/src/main/java/com/readrops/app/ARepository.java b/app/src/main/java/com/readrops/app/repositories/ARepository.java
similarity index 86%
rename from app/src/main/java/com/readrops/app/ARepository.java
rename to app/src/main/java/com/readrops/app/repositories/ARepository.java
index 2873a5ef..a4f3ee9b 100644
--- a/app/src/main/java/com/readrops/app/ARepository.java
+++ b/app/src/main/java/com/readrops/app/repositories/ARepository.java
@@ -1,26 +1,19 @@
-package com.readrops.app;
+package com.readrops.app.repositories;
import android.app.Application;
import android.os.Handler;
import android.os.Looper;
+import com.readrops.app.views.SimpleCallback;
import com.readrops.app.database.Database;
import com.readrops.app.database.entities.Feed;
import com.readrops.app.database.entities.Folder;
-import com.readrops.app.database.entities.Item;
import com.readrops.readropslibrary.ParsingResult;
-import org.reactivestreams.Subscriber;
-
-import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import io.reactivex.Completable;
-import io.reactivex.CompletableEmitter;
-import io.reactivex.CompletableObserver;
-import io.reactivex.CompletableOnSubscribe;
-import io.reactivex.Flowable;
public abstract class ARepository {
diff --git a/app/src/main/java/com/readrops/app/BasedRepository.java b/app/src/main/java/com/readrops/app/repositories/BasedRepository.java
similarity index 94%
rename from app/src/main/java/com/readrops/app/BasedRepository.java
rename to app/src/main/java/com/readrops/app/repositories/BasedRepository.java
index 101fda91..3d90667e 100644
--- a/app/src/main/java/com/readrops/app/BasedRepository.java
+++ b/app/src/main/java/com/readrops/app/repositories/BasedRepository.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.repositories;
import android.app.Application;
import android.arch.lifecycle.LiveData;
diff --git a/app/src/main/java/com/readrops/app/LocalFeedRepository.java b/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java
similarity index 99%
rename from app/src/main/java/com/readrops/app/LocalFeedRepository.java
rename to app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java
index c343e359..fc299ad9 100644
--- a/app/src/main/java/com/readrops/app/LocalFeedRepository.java
+++ b/app/src/main/java/com/readrops/app/repositories/LocalFeedRepository.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.repositories;
import android.app.Application;
import android.arch.lifecycle.LiveData;
diff --git a/app/src/main/java/com/readrops/app/AddFeedDialog.java b/app/src/main/java/com/readrops/app/views/AddFeedDialog.java
similarity index 98%
rename from app/src/main/java/com/readrops/app/AddFeedDialog.java
rename to app/src/main/java/com/readrops/app/views/AddFeedDialog.java
index bbb9388e..08105901 100644
--- a/app/src/main/java/com/readrops/app/AddFeedDialog.java
+++ b/app/src/main/java/com/readrops/app/views/AddFeedDialog.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.views;
import android.app.Activity;
import android.app.Dialog;
@@ -18,6 +18,8 @@ import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.readrops.app.R;
+import com.readrops.app.activities.MainActivity;
import com.readrops.app.utils.Utils;
import com.readrops.app.utils.HtmlParser;
import com.readrops.readropslibrary.ParsingResult;
@@ -27,10 +29,6 @@ import java.net.UnknownHostException;
import java.util.List;
import java.util.concurrent.Executors;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
public class AddFeedDialog extends Dialog implements View.OnClickListener {
private int layoutId;
diff --git a/app/src/main/java/com/readrops/app/AddFeedListAdapter.java b/app/src/main/java/com/readrops/app/views/AddFeedListAdapter.java
similarity index 97%
rename from app/src/main/java/com/readrops/app/AddFeedListAdapter.java
rename to app/src/main/java/com/readrops/app/views/AddFeedListAdapter.java
index d68af6e4..eef57c9b 100644
--- a/app/src/main/java/com/readrops/app/AddFeedListAdapter.java
+++ b/app/src/main/java/com/readrops/app/views/AddFeedListAdapter.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.views;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
@@ -7,10 +7,9 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import com.readrops.app.R;
import com.readrops.readropslibrary.ParsingResult;
-import org.w3c.dom.Text;
-
import java.util.List;
public class AddFeedListAdapter extends RecyclerView.Adapter {
diff --git a/app/src/main/java/com/readrops/app/FeedWithFolderItem.java b/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java
similarity index 95%
rename from app/src/main/java/com/readrops/app/FeedWithFolderItem.java
rename to app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java
index 35a59eef..29997e36 100644
--- a/app/src/main/java/com/readrops/app/FeedWithFolderItem.java
+++ b/app/src/main/java/com/readrops/app/views/FeedWithFolderItem.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.views;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
@@ -7,9 +7,8 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.mikepenz.fastadapter.FastAdapter;
-import com.mikepenz.fastadapter.items.AbstractItem;
import com.mikepenz.fastadapter.items.ModelAbstractItem;
+import com.readrops.app.R;
import com.readrops.app.database.pojo.FeedWithFolder;
import com.readrops.app.utils.GlideApp;
diff --git a/app/src/main/java/com/readrops/app/ItemViewModel.java b/app/src/main/java/com/readrops/app/views/ItemViewModel.java
similarity index 86%
rename from app/src/main/java/com/readrops/app/ItemViewModel.java
rename to app/src/main/java/com/readrops/app/views/ItemViewModel.java
index 9c17ba2d..5ed62768 100644
--- a/app/src/main/java/com/readrops/app/ItemViewModel.java
+++ b/app/src/main/java/com/readrops/app/views/ItemViewModel.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.views;
import android.app.Application;
import android.arch.lifecycle.AndroidViewModel;
@@ -6,6 +6,7 @@ import android.arch.lifecycle.LiveData;
import android.support.annotation.NonNull;
import com.readrops.app.database.pojo.ItemWithFeed;
+import com.readrops.app.repositories.BasedRepository;
public class ItemViewModel extends AndroidViewModel {
diff --git a/app/src/main/java/com/readrops/app/MainItemListAdapter.java b/app/src/main/java/com/readrops/app/views/MainItemListAdapter.java
similarity index 98%
rename from app/src/main/java/com/readrops/app/MainItemListAdapter.java
rename to app/src/main/java/com/readrops/app/views/MainItemListAdapter.java
index 74c88286..c2f0f9de 100644
--- a/app/src/main/java/com/readrops/app/MainItemListAdapter.java
+++ b/app/src/main/java/com/readrops/app/views/MainItemListAdapter.java
@@ -1,4 +1,4 @@
-package com.readrops.app;
+package com.readrops.app.views;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
@@ -22,6 +22,7 @@ import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.transition.DrawableCrossFadeFactory;
import com.bumptech.glide.util.ViewPreloadSizeProvider;
+import com.readrops.app.R;
import com.readrops.app.database.pojo.ItemWithFeed;
import com.readrops.app.database.entities.Item;
import com.readrops.app.utils.DateUtils;
@@ -153,7 +154,7 @@ public class MainItemListAdapter extends ListAdapter
+ tools:context=".activities.ItemActivity">
+ tools:context=".activities.MainActivity">
+ tools:context=".activities.ManageFeedsActivity">