I convert a class from java to kotlin, provided that the class is working
public class CurrentActivityUtil { Activity currentActivity; public Activity getActivityInstance() { getInstrumentation().runOnMainSync(new Runnable() { public void run() { Collection<Activity> resumedActivity = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED); for (Activity act : resumedActivity) { currentActivity = act; break; } } }); return currentActivity; } } I convert hotkey ctrl+alt+shift+K studio offers me the following code variant:
class CurrentActivityUtil { internal var currentActivity: Activity val activityInstance: Activity get() { getInstrumentation().runOnMainSync { val resumedActivity = ActivityLifecycleMonitorRegistry.getInstance().getActivitiesInStage(Stage.RESUMED) for (act in resumedActivity) { currentActivity = act break } } return currentActivity } } And immediately emphasizes internal var currentActivity: Activity - it must be initialized or be abstract, I try to make it just val currentActivity: Activity but immediately it emphasizes the line val currentActivity: Activity - val cant be reassigned.