Add OnHostActionButtonClickedListener

Implement its method in StartServer.java
Add this interface in ZimFileSelectFragment.kt
Add an inner class in ZimFileSelectFragment.kt
Call the inner class from in StartMultiSelection.kt
This commit is contained in:
Adeel Zafar 2019-08-06 06:17:18 +05:00
parent fbbb6ba4ac
commit 0a2c145298
3 changed files with 33 additions and 3 deletions

View File

@ -1,6 +1,9 @@
package org.kiwix.kiwixmobile.webserver;
import android.content.Context;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.appcompat.widget.Toolbar;
@ -9,8 +12,8 @@ import androidx.fragment.app.FragmentTransaction;
import org.kiwix.kiwixmobile.R;
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.ZimFileSelectFragment;
public class StartServer extends AppCompatActivity {
public class StartServer extends AppCompatActivity implements
ZimFileSelectFragment.OnHostActionButtonClickedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -32,4 +35,9 @@ public class StartServer extends AppCompatActivity {
toolbar.setNavigationOnClickListener(v -> onBackPressed());
}
@Override public void onHostActionButtonClicked() {
Log.v("DANG", "Action button clicked");
Toast.makeText(this, "Host action button has been clicked", Toast.LENGTH_LONG).show();
}
}

View File

@ -22,6 +22,7 @@ package org.kiwix.kiwixmobile.zim_manager.fileselect_view
import android.Manifest
import android.content.pm.PackageManager
import android.os.Bundle
import android.util.Log
import android.view.ActionMode
import android.view.LayoutInflater
import android.view.View
@ -158,4 +159,22 @@ class ZimFileSelectFragment : BaseFragment() {
private fun requestFileSystemCheck() {
zimManageViewModel.requestFileSystemCheck.onNext(Unit)
}
interface OnHostActionButtonClickedListener {
fun onHostActionButtonClicked()
}
inner class Test() {
private var listener: OnHostActionButtonClickedListener? = null
init {
listener = context as? OnHostActionButtonClickedListener
listener?.onHostActionButtonClicked()
if (listener == null)
Log.v("DANG", "Listener is null")
if (context == null)
Log.v("DANG", "Context is null")
}
}
}

View File

@ -8,6 +8,8 @@ import org.kiwix.kiwixmobile.extensions.startActionMode
import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel.FileSelectActions
import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel.FileSelectActions.RequestDeleteMultiSelection
import org.kiwix.kiwixmobile.zim_manager.ZimManageViewModel.FileSelectActions.RequestShareMultiSelection
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.ZimFileSelectFragment
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.ZimFileSelectFragment.Test
import org.kiwix.kiwixmobile.zim_manager.fileselect_view.adapter.BooksOnDiskListItem
data class StartMultiSelection(
@ -19,7 +21,8 @@ data class StartMultiSelection(
R.menu.menu_zim_files_contextual,
mapOf(
R.id.zim_file_delete_item to { fileSelectActions.offer(RequestDeleteMultiSelection) },
R.id.zim_file_share_item to { fileSelectActions.offer(RequestShareMultiSelection) }
R.id.zim_file_share_item to { fileSelectActions.offer(RequestShareMultiSelection) },
R.id.zim_file_host_item to { ZimFileSelectFragment().Test() }
)
) { fileSelectActions.offer(FileSelectActions.MultiModeFinished) }
}