| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package dev.flutter.android_background_image; |
| |
| import android.content.Intent; |
| import android.util.Log; |
| import androidx.annotation.NonNull; |
| import io.flutter.embedding.android.FlutterActivity; |
| import io.flutter.embedding.engine.FlutterEngine; |
| import io.flutter.plugin.common.BinaryMessenger; |
| import java.nio.ByteBuffer; |
| |
| public class MainActivity extends FlutterActivity { |
| @NonNull |
| private final BinaryMessenger.BinaryMessageHandler finishHandler = |
| new BinaryMessenger.BinaryMessageHandler() { |
| @Override |
| public void onMessage(ByteBuffer message, final BinaryMessenger.BinaryReply callback) { |
| if (message != null) { |
| // Make CI see that there is an error in the logs from Flutter. |
| Log.e("flutter", "Images did not match."); |
| } |
| final Intent intent = new Intent(MainActivity.this, MainActivity.class); |
| intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); |
| MainActivity.this.startActivity(intent); |
| MainActivity.this.finish(); |
| } |
| }; |
| |
| @Override |
| public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) { |
| flutterEngine |
| .getDartExecutor() |
| .getBinaryMessenger() |
| .setMessageHandler("finish", finishHandler, null); |
| |
| final boolean moved = moveTaskToBack(true); |
| if (!moved) { |
| Log.e("flutter", "Failed to move to back."); |
| finish(); |
| } |
| } |
| } |