diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 460d40168..bfe1d37b1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -142,17 +142,6 @@ - - - - - - - - - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ -package org.kiwix.kiwixmobile.main - -import android.webkit.WebView -import org.kiwix.kiwixmobile.core.main.CoreWebViewClient -import org.kiwix.kiwixmobile.core.main.WebViewCallback -import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer - -class KiwixWebViewClient internal constructor( - callback: WebViewCallback, - zimReaderContainer: ZimReaderContainer -) : CoreWebViewClient(callback, zimReaderContainer) { - - override fun onUrlEqualToHome(view: WebView) { - inflateHomeView(view) - } - - override fun onInvalidUrl(view: WebView) { - inflateHomeView(view) - } -} diff --git a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/ReaderFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/ReaderFragment.kt index 2a4b31ee0..a72677cbc 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/ReaderFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/reader/ReaderFragment.kt @@ -43,6 +43,7 @@ import org.kiwix.kiwixmobile.core.extensions.setImageDrawableCompat import org.kiwix.kiwixmobile.core.extensions.snack import org.kiwix.kiwixmobile.core.extensions.toast import org.kiwix.kiwixmobile.core.main.CoreReaderFragment +import org.kiwix.kiwixmobile.core.main.CoreWebViewClient import org.kiwix.kiwixmobile.core.main.WebViewCallback import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil @@ -54,10 +55,8 @@ import org.kiwix.kiwixmobile.core.utils.TAG_KIWIX import org.kiwix.kiwixmobile.core.utils.UpdateUtils import org.kiwix.kiwixmobile.core.utils.files.FileUtils import org.kiwix.kiwixmobile.kiwixActivityComponent -import org.kiwix.kiwixmobile.main.KiwixWebViewClient import org.kiwix.kiwixmobile.navigate import org.kiwix.kiwixmobile.webserver.ZimHostActivity -import org.kiwix.kiwixmobile.zim_manager.ZimManageActivity import java.io.File private const val HIDE_TAB_SWITCHER_DELAY: Long = 300 @@ -163,7 +162,7 @@ class ReaderFragment : CoreReaderFragment() { override fun createWebClient( webViewCallback: WebViewCallback, zimReaderContainer: ZimReaderContainer - ) = KiwixWebViewClient(webViewCallback, zimReaderContainer) + ) = CoreWebViewClient(webViewCallback, zimReaderContainer) override fun onNewNavigationMenuClicked() { // do nothing @@ -247,10 +246,6 @@ class ReaderFragment : CoreReaderFragment() { } } - override fun manageZimFiles(tab: Int) { - activity?.start { putExtra(ZimManageActivity.TAB_EXTRA, tab) } - } - override fun onNewIntent( intent: Intent, activity: AppCompatActivity diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageActivity.kt b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageActivity.kt deleted file mode 100644 index c564d587b..000000000 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/ZimManageActivity.kt +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Kiwix Android - * Copyright (c) 2019 Kiwix - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ -package org.kiwix.kiwixmobile.zim_manager - -import android.content.Intent -import android.os.Bundle -import android.view.Menu -import android.view.MenuItem -import androidx.appcompat.widget.SearchView -import androidx.appcompat.widget.Toolbar -import androidx.lifecycle.ViewModelProvider -import kotlinx.android.synthetic.main.zim_manager.manageViewPager -import kotlinx.android.synthetic.main.zim_manager.tabs -import org.kiwix.kiwixmobile.R -import org.kiwix.kiwixmobile.core.base.BaseActivity -import org.kiwix.kiwixmobile.core.dao.NewLanguagesDao -import org.kiwix.kiwixmobile.core.di.components.CoreComponent -import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.start -import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.viewModel -import org.kiwix.kiwixmobile.core.utils.LanguageUtils -import org.kiwix.kiwixmobile.core.utils.SimpleTextListener -import org.kiwix.kiwixmobile.kiwixActivityComponent -import org.kiwix.kiwixmobile.language.LanguageActivity -import org.kiwix.kiwixmobile.local_file_transfer.LocalFileTransferActivity -import javax.inject.Inject - -class ZimManageActivity : BaseActivity() { - override fun injection(coreComponent: CoreComponent) { - cachedComponent.inject(this) - } - - val cachedComponent by lazy { kiwixActivityComponent } - - private val zimManageViewModel by lazy { viewModel(viewModelFactory) } - private val sectionsPagerAdapter: SectionsPagerAdapter by lazy { - SectionsPagerAdapter(this, fm = supportFragmentManager) - } - - private var searchItem: MenuItem? = null - private var languageItem: MenuItem? = null - private var getZimItem: MenuItem? = null - - @Inject lateinit var viewModelFactory: ViewModelProvider.Factory - @Inject lateinit var languagesDao: NewLanguagesDao - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - LanguageUtils.handleLocaleChange(this, sharedPreferenceUtil) - setContentView(R.layout.zim_manager) - - setUpToolbar() - manageViewPager.run { - adapter = sectionsPagerAdapter - offscreenPageLimit = sectionsPagerAdapter.count - 1 - tabs.setupWithViewPager(this) - addOnPageChangeListener(SimplePageChangeListener(::updateMenu)) - addOnPageChangeListener(SimplePageChangeListener(::updatePage)) - } - setViewPagerPositionFromIntent(intent) - } - - private fun updatePage(position: Int) { - zimManageViewModel.currentPage.offer(position) - } - - override fun onNewIntent(intent: Intent?) { - super.onNewIntent(intent) - setViewPagerPositionFromIntent(intent) - } - - private fun setViewPagerPositionFromIntent(intent: Intent?) { - if (intent?.hasExtra(TAB_EXTRA) == true) { - manageViewPager.currentItem = intent.getIntExtra(TAB_EXTRA, 0) - } - } - - private fun updateMenu(position: Int) { - searchItem?.isVisible = position == 1 - languageItem?.isVisible = position == 1 - getZimItem?.isVisible = position == 0 - } - - private fun setUpToolbar() { - val toolbar = findViewById(R.id.toolbar) - setSupportActionBar(toolbar) - supportActionBar!!.setHomeButtonEnabled(true) - supportActionBar!!.setDisplayHomeAsUpEnabled(true) - supportActionBar!!.setTitle(R.string.library) - toolbar.setNavigationOnClickListener { onBackPressed() } - toolbar.setOnClickListener { - if (manageViewPager.currentItem == 1) - searchItem?.expandActionView() - } - } - - override fun onCreateOptionsMenu(menu: Menu): Boolean { - // Inflate the menu; this adds items to the action bar if it is present. - menuInflater.inflate(R.menu.menu_zim_manager, menu) - searchItem = menu.findItem(R.id.action_search) - languageItem = menu.findItem(R.id.select_language) - getZimItem = menu.findItem(R.id.get_zim_nearby_device) - updateMenu(manageViewPager.currentItem) - (searchItem?.actionView as? SearchView)?.setOnQueryTextListener( - SimpleTextListener(zimManageViewModel.requestFiltering::onNext) - ) - return true - } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - R.id.select_language -> start() - R.id.get_zim_nearby_device -> start() - } - return super.onOptionsItemSelected(item) - } - - companion object { - const val TAB_EXTRA = "TAB" - } -} diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.kt index 841556b89..99c8ae69f 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/ZimFileSelectFragment.kt @@ -1,6 +1,6 @@ /* * Kiwix Android - * Copyright (c) 2019 Kiwix + * Copyright (c) 2020 Kiwix * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or @@ -47,7 +47,7 @@ import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BookOnDisk import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BookOnDiskDelegate.LanguageDelegate import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDiskAdapter import org.kiwix.kiwixmobile.core.zim_manager.fileselect_view.adapter.BooksOnDiskListItem -import org.kiwix.kiwixmobile.zim_manager.ZimManageActivity +import org.kiwix.kiwixmobile.kiwixActivityComponent import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel.FileSelectActions import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel.FileSelectActions.RequestMultiSelection @@ -81,7 +81,7 @@ open class ZimFileSelectFragment : BaseFragment() { } override fun inject(baseActivity: BaseActivity) { - (baseActivity as ZimManageActivity).cachedComponent.inject(this) + baseActivity.kiwixActivityComponent.inject(this) } override fun onCreateView( diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryFragment.kt index ccb3442f1..91f9114ac 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/library_view/LibraryFragment.kt @@ -48,10 +48,10 @@ import org.kiwix.kiwixmobile.core.utils.KiwixDialog.YesNoDialog.StopDownload import org.kiwix.kiwixmobile.core.utils.KiwixDialog.YesNoDialog.WifiOnly import org.kiwix.kiwixmobile.core.utils.NetworkUtils import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil +import org.kiwix.kiwixmobile.kiwixActivityComponent import org.kiwix.kiwixmobile.zim_manager.NetworkState import org.kiwix.kiwixmobile.zim_manager.NetworkState.CONNECTED import org.kiwix.kiwixmobile.zim_manager.NetworkState.NOT_CONNECTED -import org.kiwix.kiwixmobile.zim_manager.ZimManageActivity import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel import org.kiwix.kiwixmobile.zim_manager.library_view.adapter.LibraryAdapter import org.kiwix.kiwixmobile.zim_manager.library_view.adapter.LibraryDelegate.BookDelegate @@ -91,7 +91,7 @@ open class LibraryFragment : BaseFragment() { private val isNotConnected get() = conMan.activeNetworkInfo?.isConnected == false override fun inject(baseActivity: BaseActivity) { - (baseActivity as ZimManageActivity).cachedComponent.inject(this) + baseActivity.kiwixActivityComponent.inject(this) } override fun onCreateView( diff --git a/app/src/main/res/layout/zim_manager.xml b/app/src/main/res/layout/zim_manager.xml deleted file mode 100644 index 4982af223..000000000 --- a/app/src/main/res/layout/zim_manager.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java index d4926bd9a..df70c29d7 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.java @@ -980,10 +980,6 @@ public abstract class CoreReaderFragment extends BaseFragment } } - @Override public void onLibraryMenuClicked() { - manageZimFiles(hasLocalBooks ? 0 : 1); - } - @Override public void onRandomArticleMenuClicked() { openRandomArticle(); } @@ -1381,10 +1377,6 @@ public abstract class CoreReaderFragment extends BaseFragment if (intent.getAction() != null) { if (zimReaderContainer.getId() != null) { startIntentBasedOnAction(intent); - } else { - if (CoreSearchWidget.MIC_CLICKED.equals(intent.getAction())) { - manageZimFiles(0); - } } } } @@ -1788,8 +1780,6 @@ public abstract class CoreReaderFragment extends BaseFragment RecyclerView homeRecyclerView = view.findViewById(R.id.recycler_view); presenter.loadBooks(); homeRecyclerView.setAdapter(booksAdapter); - downloadBookButton = view.findViewById(R.id.content_main_card_download_button); - downloadBookButton.setOnClickListener(v -> manageZimFiles(1)); updateTitle(); } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java index 7311d11a3..d554a287a 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreWebViewClient.java @@ -21,7 +21,6 @@ package org.kiwix.kiwixmobile.core.main; import android.content.Intent; import android.net.Uri; import android.util.Log; -import android.view.LayoutInflater; import android.view.View; import android.webkit.MimeTypeMap; import android.webkit.WebResourceResponse; @@ -30,7 +29,6 @@ import android.webkit.WebViewClient; import androidx.annotation.Nullable; import java.util.HashMap; import org.kiwix.kiwixmobile.core.CoreApp; -import org.kiwix.kiwixmobile.core.R; import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer; import static org.kiwix.kiwixmobile.core.reader.ZimFileReader.CONTENT_PREFIX; @@ -38,7 +36,7 @@ import static org.kiwix.kiwixmobile.core.reader.ZimFileReader.UI_URI; import static org.kiwix.kiwixmobile.core.utils.ConstantsKt.EXTRA_EXTERNAL_LINK; import static org.kiwix.kiwixmobile.core.utils.ConstantsKt.TAG_KIWIX; -public abstract class CoreWebViewClient extends WebViewClient { +public class CoreWebViewClient extends WebViewClient { private static final HashMap DOCUMENT_TYPES = new HashMap() {{ put("epub", "application/epub+zip"); put("pdf", "application/pdf"); @@ -121,7 +119,10 @@ public abstract class CoreWebViewClient extends WebViewClient { Log.d(TAG_KIWIX, "invalidUrl = " + invalidUrl); if (invalidUrl) { - onInvalidUrl(view); + Log.e( + TAG_KIWIX, + "Abandoning WebView as there's a problem getting the content for this custom app." + ); return; } @@ -129,18 +130,6 @@ public abstract class CoreWebViewClient extends WebViewClient { callback.webViewUrlFinishedLoading(); } - protected abstract void onUrlEqualToHome(WebView view); - - protected abstract void onInvalidUrl(WebView view); - - protected void inflateHomeView(WebView view) { - LayoutInflater inflater = LayoutInflater.from(view.getContext()); - home = inflater.inflate(R.layout.content_main, view, false); - callback.setHomePage(home); - view.removeAllViews(); - view.addView(home); - } - @Nullable @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/MainMenu.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/MainMenu.kt index 4e9786e04..29a23adcb 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/MainMenu.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/MainMenu.kt @@ -23,7 +23,6 @@ import android.view.Menu import android.view.MenuItem import android.widget.TextView import androidx.core.view.isVisible -import org.kiwix.kiwixmobile.core.BuildConfig import org.kiwix.kiwixmobile.core.Intents.internal import org.kiwix.kiwixmobile.core.R import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.intent @@ -68,7 +67,6 @@ class MainMenu( fun onAddNoteMenuClicked() fun onBookmarksMenuClicked() fun onRandomArticleMenuClicked() - fun onLibraryMenuClicked() fun onReadAloudMenuClicked() fun onFullscreenMenuClicked() fun onSupportKiwixMenuClicked() @@ -86,7 +84,6 @@ class MainMenu( tabSwitcher?.actionView?.findViewById(R.id.ic_tab_switcher_text) private val bookmarks = menu.findItem(R.id.menu_bookmarks_list) private val history = menu.findItem(R.id.menu_history) - private val library = menu.findItem(R.id.menu_openfile) private val addNote = menu.findItem(R.id.menu_add_note) private val randomArticle = menu.findItem(R.id.menu_random_article) private val fullscreen = menu.findItem(R.id.menu_fullscreen) @@ -133,7 +130,6 @@ class MainMenu( addNote.menuItemClickListener { menuClickListener.onAddNoteMenuClicked() } bookmarks.menuItemClickListener { menuClickListener.onBookmarksMenuClicked() } randomArticle.menuItemClickListener { menuClickListener.onRandomArticleMenuClicked() } - library.menuItemClickListener { menuClickListener.onLibraryMenuClicked() } readAloud.menuItemClickListener { menuClickListener.onReadAloudMenuClicked() } fullscreen.menuItemClickListener { menuClickListener.onFullscreenMenuClicked() } supportKiwix.menuItemClickListener { menuClickListener.onSupportKiwixMenuClicked() } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/WebViewCallback.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/WebViewCallback.java index b556a0ed5..cc7f54cba 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/WebViewCallback.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/WebViewCallback.java @@ -31,8 +31,6 @@ public interface WebViewCallback { void openExternalUrl(Intent intent); - void manageZimFiles(int tab); - void webViewProgressChanged(int progress); void webViewTitleUpdated(String title); diff --git a/core/src/main/res/drawable-hdpi/ic_home_kiwix_banner.9.png b/core/src/main/res/drawable-hdpi/ic_home_kiwix_banner.9.png deleted file mode 100644 index 47f71740a..000000000 Binary files a/core/src/main/res/drawable-hdpi/ic_home_kiwix_banner.9.png and /dev/null differ diff --git a/core/src/main/res/drawable-mdpi/ic_home_kiwix_banner.9.png b/core/src/main/res/drawable-mdpi/ic_home_kiwix_banner.9.png deleted file mode 100644 index 07ef7b3a7..000000000 Binary files a/core/src/main/res/drawable-mdpi/ic_home_kiwix_banner.9.png and /dev/null differ diff --git a/core/src/main/res/drawable-xhdpi/ic_home_kiwix_banner.9.png b/core/src/main/res/drawable-xhdpi/ic_home_kiwix_banner.9.png deleted file mode 100644 index f71eeb99b..000000000 Binary files a/core/src/main/res/drawable-xhdpi/ic_home_kiwix_banner.9.png and /dev/null differ diff --git a/core/src/main/res/drawable-xxhdpi/ic_home_kiwix_banner.9.png b/core/src/main/res/drawable-xxhdpi/ic_home_kiwix_banner.9.png deleted file mode 100644 index 0efd9ac93..000000000 Binary files a/core/src/main/res/drawable-xxhdpi/ic_home_kiwix_banner.9.png and /dev/null differ diff --git a/core/src/main/res/drawable-xxxhdpi/ic_home_kiwix_banner.9.png b/core/src/main/res/drawable-xxxhdpi/ic_home_kiwix_banner.9.png deleted file mode 100644 index 3e58166b8..000000000 Binary files a/core/src/main/res/drawable-xxxhdpi/ic_home_kiwix_banner.9.png and /dev/null differ diff --git a/core/src/main/res/drawable/action_open_file.xml b/core/src/main/res/drawable/action_open_file.xml deleted file mode 100644 index 4e83f79e1..000000000 --- a/core/src/main/res/drawable/action_open_file.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/core/src/main/res/layout/content_main.xml b/core/src/main/res/layout/content_main.xml deleted file mode 100644 index 7a9bd21bd..000000000 --- a/core/src/main/res/layout/content_main.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - -