From 978946baabacc6b88ab7469d01802e365947feea Mon Sep 17 00:00:00 2001 From: olegivo Date: Sat, 15 Aug 2020 11:38:41 -0500 Subject: [PATCH] Konvert BaseSelectionMenu Co-authored-by: Alinson S. Xavier --- ...electionMenu.java => BaseSelectionMenu.kt} | 75 +++++++------------ 1 file changed, 26 insertions(+), 49 deletions(-) rename android/android-base/src/main/java/org/isoron/androidbase/activities/{BaseSelectionMenu.java => BaseSelectionMenu.kt} (65%) diff --git a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.kt similarity index 65% rename from android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java rename to android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.kt index a1b486555..5d4b9af11 100644 --- a/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.java +++ b/android/android-base/src/main/java/org/isoron/androidbase/activities/BaseSelectionMenu.kt @@ -16,50 +16,43 @@ * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ +package org.isoron.androidbase.activities -package org.isoron.androidbase.activities; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.view.ActionMode; -import android.view.*; +import android.view.* +import androidx.appcompat.view.ActionMode /** * Base class for all the selection menus in the application. - *

+ * * A selection menu is a menu that appears when the screen starts a selection * operation. It contains actions that modify the selected items, such as delete * or archive. Since it replaces the toolbar, it also has a title. - *

+ * * This class hides many implementation details of creating such menus in - * Android. The interface is supposed to look very similar to {@link BaseMenu}, + * Android. The interface is supposed to look very similar to [BaseMenu], * with a few additional methods, such as finishing the selection operation. - * Internally, it uses an {@link ActionMode}. + * Internally, it uses an [ActionMode]. */ -public abstract class BaseSelectionMenu -{ - @Nullable - private ActionMode actionMode; +abstract class BaseSelectionMenu { + private var actionMode: ActionMode? = null /** * Finishes the selection operation. */ - public void finish() - { - if (actionMode != null) actionMode.finish(); + fun finish() { + actionMode?.finish() } /** * Declare that the menu has changed, and should be recreated. */ - public void invalidate() - { - if (actionMode != null) actionMode.invalidate(); + fun invalidate() { + actionMode?.invalidate() } /** * Called when the menu is first displayed. - *

+ * * This method should not be overridden. The application should override * the methods onCreate(Menu) and getMenuResourceId instead. * @@ -67,22 +60,16 @@ public abstract class BaseSelectionMenu * @param mode the action mode associated with this menu. * @param menu the menu that is being created. */ - public void onCreate(@NonNull MenuInflater inflater, - @NonNull ActionMode mode, - @NonNull Menu menu) - { - this.actionMode = mode; - inflater.inflate(getResourceId(), menu); - onCreate(menu); + fun onCreate(inflater: MenuInflater, mode: ActionMode, menu: Menu) { + actionMode = mode + inflater.inflate(getResourceId(), menu) + onCreate(menu) } /** * Called when the selection operation is about to finish. */ - public void onFinish() - { - - } + open fun onFinish() {} /** * Called whenever an item on the menu is selected. @@ -90,11 +77,7 @@ public abstract class BaseSelectionMenu * @param item the item that was selected. * @return true if the event was consumed, or false otherwise */ - public boolean onItemClicked(@NonNull MenuItem item) - { - return false; - } - + open fun onItemClicked(item: MenuItem): Boolean = false /** * Called whenever the menu is invalidated. @@ -102,29 +85,23 @@ public abstract class BaseSelectionMenu * @param menu the menu to be refreshed * @return true if the menu has changes, false otherwise */ - public boolean onPrepare(@NonNull Menu menu) - { - return false; - } + open fun onPrepare(menu: Menu): Boolean = false /** * Sets the title of the selection menu. * * @param title the new title. */ - public void setTitle(String title) - { - if (actionMode != null) actionMode.setTitle(title); + fun setTitle(title: String?) { + actionMode?.title = title } - protected abstract int getResourceId(); + protected abstract fun getResourceId(): Int /** * Called when the menu is first created. * * @param menu the menu being created */ - protected void onCreate(@NonNull Menu menu) - { - } -} + protected fun onCreate(menu: Menu) {} +} \ No newline at end of file