mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-10-06 05:49:49 +02:00
Move several classes to other packages.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package SubscribedUserDatabase;
|
||||
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.arch.persistence.room.Dao;
|
||||
import android.arch.persistence.room.Insert;
|
||||
import android.arch.persistence.room.OnConflictStrategy;
|
||||
import android.arch.persistence.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Dao
|
||||
public interface SubscribedUserDao {
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
void insert(SubscribedUserData subscribedUserData);
|
||||
|
||||
@Query("DELETE FROM subscribed_users")
|
||||
void deleteAllSubscribedUsers();
|
||||
|
||||
@Query("SELECT * from subscribed_users ORDER BY name COLLATE NOCASE ASC")
|
||||
LiveData<List<SubscribedUserData>> getAllSubscribedUsers();
|
||||
}
|
@@ -0,0 +1,37 @@
|
||||
package SubscribedUserDatabase;
|
||||
|
||||
import android.arch.persistence.room.ColumnInfo;
|
||||
import android.arch.persistence.room.Entity;
|
||||
import android.arch.persistence.room.PrimaryKey;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
@Entity(tableName = "subscribed_users")
|
||||
public class SubscribedUserData {
|
||||
@PrimaryKey
|
||||
@NonNull
|
||||
@ColumnInfo(name = "id")
|
||||
private String id;
|
||||
@ColumnInfo(name = "name")
|
||||
private String name;
|
||||
@ColumnInfo(name = "icon")
|
||||
private String iconUrl;
|
||||
|
||||
public SubscribedUserData(@NonNull String id, String name, String iconUrl) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.iconUrl = iconUrl;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getIconUrl() {
|
||||
return iconUrl;
|
||||
}
|
||||
}
|
@@ -0,0 +1,41 @@
|
||||
package SubscribedUserDatabase;
|
||||
|
||||
import android.app.Application;
|
||||
import android.arch.lifecycle.LiveData;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SubscribedUserRepository {
|
||||
private SubscribedUserDao mSubscribedUserDao;
|
||||
private LiveData<List<SubscribedUserData>> mAllSubscribedUsers;
|
||||
|
||||
SubscribedUserRepository(Application application) {
|
||||
SubscribedUserRoomDatabase db = SubscribedUserRoomDatabase.getDatabase(application);
|
||||
mSubscribedUserDao = db.subscribedUserDao();
|
||||
mAllSubscribedUsers = mSubscribedUserDao.getAllSubscribedUsers();
|
||||
}
|
||||
|
||||
LiveData<List<SubscribedUserData>> getAllSubscribedSubreddits() {
|
||||
return mAllSubscribedUsers;
|
||||
}
|
||||
|
||||
public void insert(SubscribedUserData subscribedUserData) {
|
||||
new SubscribedUserRepository.insertAsyncTask(mSubscribedUserDao).execute(subscribedUserData);
|
||||
}
|
||||
|
||||
private static class insertAsyncTask extends AsyncTask<SubscribedUserData, Void, Void> {
|
||||
|
||||
private SubscribedUserDao mAsyncTaskDao;
|
||||
|
||||
insertAsyncTask(SubscribedUserDao dao) {
|
||||
mAsyncTaskDao = dao;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Void doInBackground(final SubscribedUserData... params) {
|
||||
mAsyncTaskDao.insert(params[0]);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
package SubscribedUserDatabase;
|
||||
|
||||
import android.arch.persistence.room.Database;
|
||||
import android.arch.persistence.room.Room;
|
||||
import android.arch.persistence.room.RoomDatabase;
|
||||
import android.content.Context;
|
||||
|
||||
@Database(entities = {SubscribedUserData.class}, version = 1)
|
||||
public abstract class SubscribedUserRoomDatabase extends RoomDatabase {
|
||||
private static SubscribedUserRoomDatabase INSTANCE;
|
||||
|
||||
public abstract SubscribedUserDao subscribedUserDao();
|
||||
|
||||
public static SubscribedUserRoomDatabase getDatabase(final Context context) {
|
||||
if(INSTANCE == null) {
|
||||
synchronized (SubscribedUserRoomDatabase.class) {
|
||||
if(INSTANCE == null) {
|
||||
INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
|
||||
SubscribedUserRoomDatabase.class, "subscribed_users")
|
||||
.build();
|
||||
}
|
||||
}
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
package SubscribedUserDatabase;
|
||||
|
||||
import android.app.Application;
|
||||
import android.arch.lifecycle.AndroidViewModel;
|
||||
import android.arch.lifecycle.LiveData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class SubscribedUserViewModel extends AndroidViewModel {
|
||||
private SubscribedUserRepository mSubscribedUserRepository;
|
||||
private LiveData<List<SubscribedUserData>> mAllSubscribedUsers;
|
||||
|
||||
public SubscribedUserViewModel(Application application) {
|
||||
super(application);
|
||||
mSubscribedUserRepository = new SubscribedUserRepository(application);
|
||||
mAllSubscribedUsers = mSubscribedUserRepository.getAllSubscribedSubreddits();
|
||||
}
|
||||
|
||||
public LiveData<List<SubscribedUserData>> getAllSubscribedUsers() {
|
||||
return mAllSubscribedUsers;
|
||||
}
|
||||
|
||||
public void insert(SubscribedUserData subscribedUserData) {
|
||||
mSubscribedUserRepository.insert(subscribedUserData);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user