From 0a2c145298c4b4ce9810d01ce6252dc0a3532a8b Mon Sep 17 00:00:00 2001 From: Adeel Zafar Date: Tue, 6 Aug 2019 06:17:18 +0500 Subject: [PATCH] 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 --- .../kiwixmobile/webserver/StartServer.java | 12 ++++++++++-- .../fileselect_view/ZimFileSelectFragment.kt | 19 +++++++++++++++++++ .../effects/StartMultiSelection.kt | 5 ++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/webserver/StartServer.java b/app/src/main/java/org/kiwix/kiwixmobile/webserver/StartServer.java index e3d193ecd..3690d6c33 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/webserver/StartServer.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/webserver/StartServer.java @@ -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(); + } } 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 ac98fa804..fecaa94e3 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 @@ -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") + } + } } + diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/effects/StartMultiSelection.kt b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/effects/StartMultiSelection.kt index 8f31c75e4..06315352d 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/effects/StartMultiSelection.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/fileselect_view/effects/StartMultiSelection.kt @@ -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) } }