Move example plugin out of core

Summary:
We should not ship this as part of our distribution.
Just meant we had to bifurcate our unit tests which
is a bit awkward, but it works now.

Reviewed By: jknoxville

Differential Revision: D15146980

fbshipit-source-id: 496b000630bbfcaa663cddacb00550e1499a1279
This commit is contained in:
Pascal Hartig
2019-05-01 08:32:56 -07:00
committed by Facebook Github Bot
parent 821408056f
commit b7fff23700
4 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
/*
* Copyright (c) 2018-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the LICENSE
* file in the root directory of this source tree.
*
*/
package com.facebook.flipper.plugins.example;
import android.app.Activity;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.facebook.flipper.core.FlipperConnection;
import com.facebook.flipper.core.FlipperObject;
import com.facebook.flipper.core.FlipperPlugin;
import com.facebook.flipper.core.FlipperReceiver;
import com.facebook.flipper.core.FlipperResponder;
public class ExampleFlipperPlugin implements FlipperPlugin {
public static final String ID = "Example";
@Nullable private Activity mActivity;
@Nullable private FlipperConnection mConnection;
private int mNotificationsSent = 0;
@Override
public String getId() {
return ID;
}
/*
* Activity to be used to display incoming messages
*/
public void setActivity(Activity activity) {
mActivity = activity;
}
@Override
public void onConnect(FlipperConnection connection) {
mConnection = connection;
connection.receive(
"displayMessage",
new FlipperReceiver() {
@Override
public void onReceive(final FlipperObject params, FlipperResponder responder) {
if (mActivity != null) {
mActivity.runOnUiThread(
new Runnable() {
@Override
public void run() {
Toast.makeText(mActivity, params.getString("message"), Toast.LENGTH_SHORT)
.show();
}
});
}
responder.success(new FlipperObject.Builder().put("greeting", "Hello").build());
}
});
}
public void triggerNotification() {
if (mConnection != null) {
mConnection.send(
"triggerNotification", new FlipperObject.Builder().put("id", mNotificationsSent).build());
mNotificationsSent++;
}
}
@Override
public void onDisconnect() {
mConnection = null;
}
@Override
public boolean runInBackground() {
return true;
}
}