mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-24 05:04:50 -04:00
Add ZimHostContract, ZimHostPresenter and ZimHostModule
This commit is contained in:
parent
0cf9393bfd
commit
4486c06b3c
@ -18,6 +18,7 @@ import org.kiwix.kiwixmobile.search.SearchActivity;
|
|||||||
import org.kiwix.kiwixmobile.settings.KiwixSettingsActivity;
|
import org.kiwix.kiwixmobile.settings.KiwixSettingsActivity;
|
||||||
import org.kiwix.kiwixmobile.splash.SplashActivity;
|
import org.kiwix.kiwixmobile.splash.SplashActivity;
|
||||||
import org.kiwix.kiwixmobile.webserver.ZimHostActivity;
|
import org.kiwix.kiwixmobile.webserver.ZimHostActivity;
|
||||||
|
import org.kiwix.kiwixmobile.webserver.ZimHostModule;
|
||||||
import org.kiwix.kiwixmobile.zim_manager.ZimManageActivity;
|
import org.kiwix.kiwixmobile.zim_manager.ZimManageActivity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -73,6 +74,6 @@ public abstract class ActivityBindingModule {
|
|||||||
public abstract HelpActivity provideHelpActivity();
|
public abstract HelpActivity provideHelpActivity();
|
||||||
|
|
||||||
@PerActivity
|
@PerActivity
|
||||||
@ContributesAndroidInjector(modules = MainModule.class)
|
@ContributesAndroidInjector(modules = ZimHostModule.class)
|
||||||
public abstract ZimHostActivity provideZimHostActivity();
|
public abstract ZimHostActivity provideZimHostActivity();
|
||||||
}
|
}
|
||||||
|
@ -10,15 +10,15 @@ import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskList
|
|||||||
* The contract between {@link MainActivity} and {@link MainPresenter}.
|
* The contract between {@link MainActivity} and {@link MainPresenter}.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MainContract {
|
class MainContract {
|
||||||
|
|
||||||
public interface View extends BaseContract.View<Presenter> {
|
interface View extends BaseContract.View<Presenter> {
|
||||||
void addBooks(List<BooksOnDiskListItem> books);
|
void addBooks(List<BooksOnDiskListItem> books);
|
||||||
|
|
||||||
void refreshBookmarksUrl(List<String> urls);
|
void refreshBookmarksUrl(List<String> urls);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface Presenter extends BaseContract.Presenter<View> {
|
interface Presenter extends BaseContract.Presenter<View> {
|
||||||
void loadBooks();
|
void loadBooks();
|
||||||
|
|
||||||
void saveBooks(List<BooksOnDiskListItem.BookOnDisk> books);
|
void saveBooks(List<BooksOnDiskListItem.BookOnDisk> books);
|
||||||
|
@ -47,11 +47,8 @@ import kotlin.Unit;
|
|||||||
import org.kiwix.kiwixmobile.R;
|
import org.kiwix.kiwixmobile.R;
|
||||||
import org.kiwix.kiwixmobile.base.BaseActivity;
|
import org.kiwix.kiwixmobile.base.BaseActivity;
|
||||||
import org.kiwix.kiwixmobile.main.MainActivity;
|
import org.kiwix.kiwixmobile.main.MainActivity;
|
||||||
import org.kiwix.kiwixmobile.main.MainContract;
|
|
||||||
import org.kiwix.kiwixmobile.wifi_hotspot.HotspotService;
|
import org.kiwix.kiwixmobile.wifi_hotspot.HotspotService;
|
||||||
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.ZimFileSelectFragment;
|
|
||||||
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BookOnDiskDelegate;
|
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BookOnDiskDelegate;
|
||||||
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskAdapter;
|
|
||||||
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem;
|
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem;
|
||||||
|
|
||||||
import static org.kiwix.kiwixmobile.utils.StyleUtils.dialogStyle;
|
import static org.kiwix.kiwixmobile.utils.StyleUtils.dialogStyle;
|
||||||
@ -59,7 +56,7 @@ import static org.kiwix.kiwixmobile.webserver.WebServerHelper.getAddress;
|
|||||||
import static org.kiwix.kiwixmobile.webserver.WebServerHelper.isServerStarted;
|
import static org.kiwix.kiwixmobile.webserver.WebServerHelper.isServerStarted;
|
||||||
|
|
||||||
public class ZimHostActivity extends BaseActivity implements
|
public class ZimHostActivity extends BaseActivity implements
|
||||||
ServerStateListener, MainContract.View {
|
ServerStateListener, ZimHostContract.View {
|
||||||
|
|
||||||
@BindView(R.id.startServerButton)
|
@BindView(R.id.startServerButton)
|
||||||
Button startServerButton;
|
Button startServerButton;
|
||||||
@ -67,7 +64,7 @@ public class ZimHostActivity extends BaseActivity implements
|
|||||||
TextView serverTextView;
|
TextView serverTextView;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
MainContract.Presenter presenter;
|
ZimHostContract.Presenter presenter;
|
||||||
|
|
||||||
public static final String ACTION_TURN_ON_AFTER_O = "Turn_on_hotspot_after_oreo";
|
public static final String ACTION_TURN_ON_AFTER_O = "Turn_on_hotspot_after_oreo";
|
||||||
public static final String ACTION_TURN_OFF_AFTER_O = "Turn_off_hotspot_after_oreo";
|
public static final String ACTION_TURN_OFF_AFTER_O = "Turn_off_hotspot_after_oreo";
|
||||||
@ -510,8 +507,4 @@ public class ZimHostActivity extends BaseActivity implements
|
|||||||
@Override public void addBooks(List<BooksOnDiskListItem> books) {
|
@Override public void addBooks(List<BooksOnDiskListItem> books) {
|
||||||
booksAdapter.setItems(books);
|
booksAdapter.setItems(books);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public void refreshBookmarksUrl(List<String> urls) {
|
|
||||||
//Do nothing
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package org.kiwix.kiwixmobile.webserver;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import org.kiwix.kiwixmobile.base.BaseContract;
|
||||||
|
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem;
|
||||||
|
|
||||||
|
class ZimHostContract {
|
||||||
|
|
||||||
|
interface View
|
||||||
|
extends BaseContract.View<org.kiwix.kiwixmobile.webserver.ZimHostContract.Presenter> {
|
||||||
|
void addBooks(List<BooksOnDiskListItem> books);
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Presenter
|
||||||
|
extends BaseContract.Presenter<org.kiwix.kiwixmobile.webserver.ZimHostContract.View> {
|
||||||
|
void loadBooks();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package org.kiwix.kiwixmobile.webserver;
|
||||||
|
|
||||||
|
import dagger.Module;
|
||||||
|
import dagger.Provides;
|
||||||
|
import org.kiwix.kiwixmobile.di.PerActivity;
|
||||||
|
|
||||||
|
@Module
|
||||||
|
public class ZimHostModule {
|
||||||
|
|
||||||
|
@PerActivity
|
||||||
|
@Provides
|
||||||
|
ZimHostContract.Presenter provideZimHostPresenter(ZimHostPresenter zimHostPresenter) {
|
||||||
|
return zimHostPresenter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
package org.kiwix.kiwixmobile.webserver;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
import io.reactivex.SingleObserver;
|
||||||
|
import io.reactivex.disposables.Disposable;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import org.kiwix.kiwixmobile.base.BasePresenter;
|
||||||
|
import org.kiwix.kiwixmobile.data.DataSource;
|
||||||
|
import org.kiwix.kiwixmobile.di.PerActivity;
|
||||||
|
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem;
|
||||||
|
|
||||||
|
@PerActivity
|
||||||
|
class ZimHostPresenter extends BasePresenter<ZimHostContract.View>
|
||||||
|
implements ZimHostContract.Presenter {
|
||||||
|
|
||||||
|
private static final String TAG = "ZimHostPresenter";
|
||||||
|
private final DataSource dataSource;
|
||||||
|
|
||||||
|
@Inject ZimHostPresenter(DataSource dataSource) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadBooks() {
|
||||||
|
dataSource.getLanguageCategorizedBooks()
|
||||||
|
.subscribe(new SingleObserver<List<BooksOnDiskListItem>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(Disposable d) {
|
||||||
|
compositeDisposable.add(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSuccess(List<BooksOnDiskListItem> books) {
|
||||||
|
view.addBooks(books);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(Throwable e) {
|
||||||
|
Log.e(TAG, "Unable to load books", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user