I have been working on the app for quite some time now with this snippet in MainActivity.java
import android.content.Intent;
import android.util.Log;
import androidx.annotation.NonNull;
import com.ickebord.ariana.controllers.ReminderController;
import com.ickebord.ariana.utils.ReminderRawDataConstants.Keys;
import java.util.HashMap;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
private static final String CHANNEL = "ickebordChannel";
private ReminderController controller;
private String payload;
public static MethodChannel.Result result;
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
payload = getIntent().getStringExtra(Keys.PAYLOAD);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler(((call, result) -> {
controller = new ReminderController(this);
try{
switch(call.method){
case "notification_payload":
if(payload != null){
result.success(payload);
}
break;
case "add_reminder":
long reminderId = controller.addReminder((HashMap<String, String>) call.arguments);
result.success(reminderId);
break;
case "get_reminder":
HashMap<String, String> reminderData = controller.getReminder((int) call.arguments);
result.success(reminderData);
break;
case "delete_reminder":
int deletedRowId = controller.deleteReminder((int) call.arguments);
result.success(deletedRowId);
break;
case "get_ringtone":
MainActivity.result = result;
Intent intent = new Intent(this, RingtoneActivity.class);
startActivity(intent);
break;
default:
result.error("UNAVAILABLE", "Unknown method call", null);
}
}
catch(Exception e){
result.error("FAILED", e.getMessage(), e);
}
}));
}
}
But now I wanna make use of this plugin called local_auth which requires me to extend MainActivity from FlutterFragmentActivity instead of FlutterActivity.
Which causes my build to fail with the following errors:
private ReminderController controller;
^
symbol: class ReminderController
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:27: error: package MethodChannel does not exist
public static MethodChannel.Result result;
^
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:39: error: cannot find symbol
payload = getIntent().getStringExtra(Keys.PAYLOAD);
^
symbol: variable Keys
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:41: error: cannot find symbol
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
^
symbol: class MethodChannel
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:43: error: cannot find symbol
controller = new ReminderController(this);
^
symbol: class ReminderController
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:46: error: illegal parenthesized expression
switch(call.method){
^
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:53: error: cannot find symbol
long reminderId = controller.addReminder((HashMap<String, String>) call.arguments);
^
symbol: class HashMap
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:57: error: cannot find symbol
HashMap<String, String> reminderData = controller.getReminder((int) call.arguments);
symbol: class HashMap
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:66: error: cannot find symbol
Intent intent = new Intent(this, RingtoneActivity.class);
^
symbol: class Intent
location: class MainActivity
/Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MainActivity.java:66: error: cannot find symbol
Intent intent = new Intent(this, RingtoneActivity.class);
^
symbol: class Intent
location: class MainActivity
Note: /Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/MyApplication.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/taha/Documents/ickebord_ari091221/android/app/src/main/java/com/ickebord/ariana/controllers/DbController.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
10 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 36s
Exception: Gradle task assembleDebug failed with exit code 1
Exited
I'm not familiar with Java code at all, so no clue how to approach to solve this! Thanks