Apply clang-format

Differential Revision: D19843069

fbshipit-source-id: af3f3998e2259ca5070b43ffb19933cf9304319d
This commit is contained in:
Andres Suarez
2020-02-11 19:27:40 -08:00
committed by Facebook Github Bot
parent 71928fdf08
commit c315691b2d
10 changed files with 195 additions and 144 deletions

View File

@@ -13,16 +13,16 @@
#include <fb/fbjni.h> #include <fb/fbjni.h>
#endif #endif
#include <folly/json.h>
#include <folly/io/async/EventBase.h> #include <folly/io/async/EventBase.h>
#include <folly/io/async/EventBaseManager.h> #include <folly/io/async/EventBaseManager.h>
#include <folly/json.h>
#include <Flipper/FlipperClient.h> #include <Flipper/FlipperClient.h>
#include <Flipper/FlipperConnectionManager.h>
#include <Flipper/FlipperConnection.h> #include <Flipper/FlipperConnection.h>
#include <Flipper/FlipperConnectionManager.h>
#include <Flipper/FlipperResponder.h> #include <Flipper/FlipperResponder.h>
#include <Flipper/FlipperStateUpdateListener.h>
#include <Flipper/FlipperState.h> #include <Flipper/FlipperState.h>
#include <Flipper/FlipperStateUpdateListener.h>
using namespace facebook; using namespace facebook;
using namespace facebook::flipper; using namespace facebook::flipper;
@@ -37,7 +37,8 @@ void handleException(const std::exception& e) {
class JEventBase : public jni::HybridClass<JEventBase> { class JEventBase : public jni::HybridClass<JEventBase> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/android/EventBase;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/android/EventBase;";
static void registerNatives() { static void registerNatives() {
registerHybrid({ registerHybrid({
@@ -69,40 +70,47 @@ class JEventBase : public jni::HybridClass<JEventBase> {
class JFlipperObject : public jni::JavaClass<JFlipperObject> { class JFlipperObject : public jni::JavaClass<JFlipperObject> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperObject;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperObject;";
static jni::local_ref<JFlipperObject> create(const folly::dynamic& json) { static jni::local_ref<JFlipperObject> create(const folly::dynamic& json) {
return newInstance(folly::toJson(json)); return newInstance(folly::toJson(json));
} }
std::string toJsonString() { std::string toJsonString() {
static const auto method = javaClassStatic()->getMethod<std::string()>("toJsonString"); static const auto method =
javaClassStatic()->getMethod<std::string()>("toJsonString");
return method(self())->toStdString(); return method(self())->toStdString();
} }
}; };
class JFlipperArray : public jni::JavaClass<JFlipperArray> { class JFlipperArray : public jni::JavaClass<JFlipperArray> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperArray;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperArray;";
static jni::local_ref<JFlipperArray> create(const folly::dynamic& json) { static jni::local_ref<JFlipperArray> create(const folly::dynamic& json) {
return newInstance(folly::toJson(json)); return newInstance(folly::toJson(json));
} }
std::string toJsonString() { std::string toJsonString() {
static const auto method = javaClassStatic()->getMethod<std::string()>("toJsonString"); static const auto method =
javaClassStatic()->getMethod<std::string()>("toJsonString");
return method(self())->toStdString(); return method(self())->toStdString();
} }
}; };
class JFlipperResponder : public jni::JavaClass<JFlipperResponder> { class JFlipperResponder : public jni::JavaClass<JFlipperResponder> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperResponder;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperResponder;";
}; };
class JFlipperResponderImpl : public jni::HybridClass<JFlipperResponderImpl, JFlipperResponder> { class JFlipperResponderImpl
: public jni::HybridClass<JFlipperResponderImpl, JFlipperResponder> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/android/FlipperResponderImpl;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/android/FlipperResponderImpl;";
static void registerNatives() { static void registerNatives() {
registerHybrid({ registerHybrid({
@@ -113,42 +121,62 @@ class JFlipperResponderImpl : public jni::HybridClass<JFlipperResponderImpl, JFl
} }
void successObject(jni::alias_ref<JFlipperObject> json) { void successObject(jni::alias_ref<JFlipperObject> json) {
_responder->success(json ? folly::parseJson(json->toJsonString()) : folly::dynamic::object()); _responder->success(
json ? folly::parseJson(json->toJsonString())
: folly::dynamic::object());
} }
void successArray(jni::alias_ref<JFlipperArray> json) { void successArray(jni::alias_ref<JFlipperArray> json) {
_responder->success(json ? folly::parseJson(json->toJsonString()) : folly::dynamic::object()); _responder->success(
json ? folly::parseJson(json->toJsonString())
: folly::dynamic::object());
} }
void error(jni::alias_ref<JFlipperObject> json) { void error(jni::alias_ref<JFlipperObject> json) {
_responder->error(json ? folly::parseJson(json->toJsonString()) : folly::dynamic::object()); _responder->error(
json ? folly::parseJson(json->toJsonString())
: folly::dynamic::object());
} }
private: private:
friend HybridBase; friend HybridBase;
std::shared_ptr<FlipperResponder> _responder; std::shared_ptr<FlipperResponder> _responder;
JFlipperResponderImpl(std::shared_ptr<FlipperResponder> responder): _responder(std::move(responder)) {} JFlipperResponderImpl(std::shared_ptr<FlipperResponder> responder)
: _responder(std::move(responder)) {}
}; };
class JFlipperReceiver : public jni::JavaClass<JFlipperReceiver> { class JFlipperReceiver : public jni::JavaClass<JFlipperReceiver> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperReceiver;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperReceiver;";
void receive(const folly::dynamic params, std::shared_ptr<FlipperResponder> responder) const { void receive(
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFlipperObject::javaobject>, jni::alias_ref<JFlipperResponder::javaobject>)>("onReceive"); const folly::dynamic params,
method(self(), JFlipperObject::create(std::move(params)), JFlipperResponderImpl::newObjectCxxArgs(responder)); std::shared_ptr<FlipperResponder> responder) const {
static const auto method =
javaClassStatic()
->getMethod<void(
jni::alias_ref<JFlipperObject::javaobject>,
jni::alias_ref<JFlipperResponder::javaobject>)>("onReceive");
method(
self(),
JFlipperObject::create(std::move(params)),
JFlipperResponderImpl::newObjectCxxArgs(responder));
} }
}; };
class JFlipperConnection : public jni::JavaClass<JFlipperConnection> { class JFlipperConnection : public jni::JavaClass<JFlipperConnection> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperConnection;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperConnection;";
}; };
class JFlipperConnectionImpl : public jni::HybridClass<JFlipperConnectionImpl, JFlipperConnection> { class JFlipperConnectionImpl
: public jni::HybridClass<JFlipperConnectionImpl, JFlipperConnection> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/android/FlipperConnectionImpl;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/android/FlipperConnectionImpl;";
static void registerNatives() { static void registerNatives() {
registerHybrid({ registerHybrid({
@@ -162,12 +190,20 @@ class JFlipperConnectionImpl : public jni::HybridClass<JFlipperConnectionImpl, J
}); });
} }
void sendObject(const std::string method, jni::alias_ref<JFlipperObject> json) { void sendObject(
_connection->send(std::move(method), json ? folly::parseJson(json->toJsonString()) : folly::dynamic::object()); const std::string method,
jni::alias_ref<JFlipperObject> json) {
_connection->send(
std::move(method),
json ? folly::parseJson(json->toJsonString())
: folly::dynamic::object());
} }
void sendArray(const std::string method, jni::alias_ref<JFlipperArray> json) { void sendArray(const std::string method, jni::alias_ref<JFlipperArray> json) {
_connection->send(std::move(method), json ? folly::parseJson(json->toJsonString()) : folly::dynamic::object()); _connection->send(
std::move(method),
json ? folly::parseJson(json->toJsonString())
: folly::dynamic::object());
} }
void reportErrorWithMetadata( void reportErrorWithMetadata(
@@ -181,9 +217,15 @@ class JFlipperConnectionImpl : public jni::HybridClass<JFlipperConnectionImpl, J
throwable->toString(), throwable->getStackTrace()->toString()); throwable->toString(), throwable->getStackTrace()->toString());
} }
void receive(const std::string method, jni::alias_ref<JFlipperReceiver> receiver) { void receive(
const std::string method,
jni::alias_ref<JFlipperReceiver> receiver) {
auto global = make_global(receiver); auto global = make_global(receiver);
_connection->receive(std::move(method), [global] (const folly::dynamic& params, std::shared_ptr<FlipperResponder> responder) { _connection->receive(
std::move(method),
[global](
const folly::dynamic& params,
std::shared_ptr<FlipperResponder> responder) {
global->receive(params, responder); global->receive(params, responder);
}); });
} }
@@ -192,15 +234,18 @@ class JFlipperConnectionImpl : public jni::HybridClass<JFlipperConnectionImpl, J
friend HybridBase; friend HybridBase;
std::shared_ptr<FlipperConnection> _connection; std::shared_ptr<FlipperConnection> _connection;
JFlipperConnectionImpl(std::shared_ptr<FlipperConnection> connection): _connection(std::move(connection)) {} JFlipperConnectionImpl(std::shared_ptr<FlipperConnection> connection)
: _connection(std::move(connection)) {}
}; };
class JFlipperPlugin : public jni::JavaClass<JFlipperPlugin> { class JFlipperPlugin : public jni::JavaClass<JFlipperPlugin> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperPlugin;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperPlugin;";
std::string identifier() const { std::string identifier() const {
static const auto method = javaClassStatic()->getMethod<std::string()>("getId"); static const auto method =
javaClassStatic()->getMethod<std::string()>("getId");
try { try {
return method(self())->toStdString(); return method(self())->toStdString();
@@ -232,7 +277,8 @@ class JFlipperPlugin : public jni::JavaClass<JFlipperPlugin> {
} }
void didDisconnect() { void didDisconnect() {
static const auto method = javaClassStatic()->getMethod<void()>("onDisconnect"); static const auto method =
javaClassStatic()->getMethod<void()>("onDisconnect");
try { try {
method(self()); method(self());
} catch (const std::exception& e) { } catch (const std::exception& e) {
@@ -261,9 +307,11 @@ class JFlipperPlugin : public jni::JavaClass<JFlipperPlugin> {
} }
}; };
class JFlipperStateUpdateListener : public jni::JavaClass<JFlipperStateUpdateListener> { class JFlipperStateUpdateListener
: public jni::JavaClass<JFlipperStateUpdateListener> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/FlipperStateUpdateListener;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/FlipperStateUpdateListener;";
void onUpdate() { void onUpdate() {
try { try {
@@ -322,7 +370,8 @@ class JFlipperStateUpdateListener : public jni::JavaClass<JFlipperStateUpdateLis
class AndroidFlipperStateUpdateListener : public FlipperStateUpdateListener { class AndroidFlipperStateUpdateListener : public FlipperStateUpdateListener {
public: public:
AndroidFlipperStateUpdateListener(jni::alias_ref<JFlipperStateUpdateListener> stateListener); AndroidFlipperStateUpdateListener(
jni::alias_ref<JFlipperStateUpdateListener> stateListener);
void onUpdate(); void onUpdate();
private: private:
@@ -349,27 +398,31 @@ class JFlipperPluginWrapper : public FlipperPlugin {
return jplugin->runInBackground(); return jplugin->runInBackground();
} }
JFlipperPluginWrapper(jni::global_ref<JFlipperPlugin> plugin): jplugin(plugin) {} JFlipperPluginWrapper(jni::global_ref<JFlipperPlugin> plugin)
: jplugin(plugin) {}
}; };
struct JStateSummary : public jni::JavaClass<JStateSummary> { struct JStateSummary : public jni::JavaClass<JStateSummary> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/core/StateSummary;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/core/StateSummary;";
static jni::local_ref<JStateSummary> create() { static jni::local_ref<JStateSummary> create() {
return newInstance(); return newInstance();
} }
void addEntry(std::string name, std::string state) { void addEntry(std::string name, std::string state) {
static const auto method = javaClassStatic()->getMethod<void(std::string, std::string)>("addEntry"); static const auto method =
javaClassStatic()->getMethod<void(std::string, std::string)>(
"addEntry");
return method(self(), name, state); return method(self(), name, state);
} }
}; };
class JFlipperClient : public jni::HybridClass<JFlipperClient> { class JFlipperClient : public jni::HybridClass<JFlipperClient> {
public: public:
constexpr static auto kJavaDescriptor = "Lcom/facebook/flipper/android/FlipperClientImpl;"; constexpr static auto kJavaDescriptor =
"Lcom/facebook/flipper/android/FlipperClientImpl;";
static void registerNatives() { static void registerNatives() {
registerHybrid({ registerHybrid({
@@ -388,7 +441,8 @@ class JFlipperClient : public jni::HybridClass<JFlipperClient> {
}); });
} }
static jni::alias_ref<JFlipperClient::javaobject> getInstance(jni::alias_ref<jclass>) { static jni::alias_ref<JFlipperClient::javaobject> getInstance(
jni::alias_ref<jclass>) {
try { try {
static auto client = make_global(newObjectCxxArgs()); static auto client = make_global(newObjectCxxArgs());
return client; return client;
@@ -448,7 +502,8 @@ class JFlipperClient : public jni::HybridClass<JFlipperClient> {
} }
} }
void subscribeForUpdates(jni::alias_ref<JFlipperStateUpdateListener> stateListener) { void subscribeForUpdates(
jni::alias_ref<JFlipperStateUpdateListener> stateListener) {
try { try {
auto client = FlipperClient::instance(); auto client = FlipperClient::instance();
mStateListener = mStateListener =
@@ -585,7 +640,8 @@ jint JNI_OnLoad(JavaVM* vm, void*) {
}); });
} }
AndroidFlipperStateUpdateListener::AndroidFlipperStateUpdateListener(jni::alias_ref<JFlipperStateUpdateListener> stateListener) { AndroidFlipperStateUpdateListener::AndroidFlipperStateUpdateListener(
jni::alias_ref<JFlipperStateUpdateListener> stateListener) {
jStateListener = jni::make_global(stateListener); jStateListener = jni::make_global(stateListener);
} }

View File

@@ -8,10 +8,10 @@
#include "CertificateUtils.h" #include "CertificateUtils.h"
#include <fcntl.h> #include <fcntl.h>
#include <folly/portability/Fcntl.h>
#include <folly/portability/SysStat.h>
#include <openssl/pem.h> #include <openssl/pem.h>
#include <openssl/rsa.h> #include <openssl/rsa.h>
#include <folly/portability/SysStat.h>
#include <folly/portability/Fcntl.h>
#include <cstring> #include <cstring>
void free( void free(

View File

@@ -7,9 +7,9 @@
#pragma once #pragma once
#include <string>
#include <folly/io/async/SSLContext.h>
#include <folly/dynamic.h> #include <folly/dynamic.h>
#include <folly/io/async/SSLContext.h>
#include <string>
#include "FlipperInitConfig.h" #include "FlipperInitConfig.h"
using namespace folly; using namespace folly;
@@ -18,7 +18,6 @@ namespace facebook {
namespace flipper { namespace flipper {
class ConnectionContextStore { class ConnectionContextStore {
public: public:
ConnectionContextStore(DeviceData deviceData); ConnectionContextStore(DeviceData deviceData);
bool hasRequiredFiles(); bool hasRequiredFiles();

View File

@@ -7,10 +7,10 @@
#pragma once #pragma once
#include "FlipperResponder.h"
#include <folly/json.h> #include <folly/json.h>
#include <functional> #include <functional>
#include <string> #include <string>
#include "FlipperResponder.h"
namespace facebook { namespace facebook {
namespace flipper { namespace flipper {

View File

@@ -18,7 +18,9 @@ namespace flipper {
class FlipperConnectionImpl : public FlipperConnection { class FlipperConnectionImpl : public FlipperConnection {
public: public:
FlipperConnectionImpl(FlipperConnectionManager* socket, const std::string& name) FlipperConnectionImpl(
FlipperConnectionManager* socket,
const std::string& name)
: socket_(socket), name_(name) {} : socket_(socket), name_(name) {}
void call( void call(

View File

@@ -7,8 +7,8 @@
#pragma once #pragma once
#include "FlipperConnection.h"
#include <string> #include <string>
#include "FlipperConnection.h"
namespace facebook { namespace facebook {
namespace flipper { namespace flipper {
@@ -38,7 +38,8 @@ class FlipperPlugin {
virtual void didDisconnect() = 0; virtual void didDisconnect() = 0;
/** /**
Returns true if the plugin is meant to be run in background too, otherwise it returns false. Returns true if the plugin is meant to be run in background too, otherwise it
returns false.
*/ */
virtual bool runInBackground() { virtual bool runInBackground() {
return false; return false;

View File

@@ -16,12 +16,12 @@ namespace flipper {
void log(const std::string& message) { void log(const std::string& message) {
#ifdef __ANDROID__ #ifdef __ANDROID__
__android_log_print(ANDROID_LOG_INFO, "flipper", "flipper: %s", message.c_str()); __android_log_print(
ANDROID_LOG_INFO, "flipper", "flipper: %s", message.c_str());
#else #else
printf("flipper: %s\n", message.c_str()); printf("flipper: %s\n", message.c_str());
#endif #endif
} }
} // namespace flipper } // namespace flipper
} // namespace facebook } // namespace facebook

View File

@@ -13,8 +13,7 @@ namespace test {
class ConnectionContextStoreMock : public ConnectionContextStore { class ConnectionContextStoreMock : public ConnectionContextStore {
public: public:
ConnectionContextStoreMock() : ConnectionContextStore(DeviceData()) { ConnectionContextStoreMock() : ConnectionContextStore(DeviceData()) {}
}
bool hasRequiredFiles() { bool hasRequiredFiles() {
return true; return true;
} }
@@ -32,4 +31,6 @@ namespace test {
} }
}; };
}}} } // namespace test
} // namespace flipper
} // namespace facebook

View File

@@ -30,60 +30,52 @@ protected:
} }
}; };
TEST_F(FlipperConnectionManagerImplTerminationTest, testNullEventBaseGetsRejected) { TEST_F(
FlipperConnectionManagerImplTerminationTest,
testNullEventBaseGetsRejected) {
try { try {
auto instance = std::make_shared<FlipperConnectionManagerImpl>(FlipperInitConfig { auto instance = std::make_shared<FlipperConnectionManagerImpl>(
DeviceData {}, FlipperInitConfig{DeviceData{}, nullptr, new EventBase()},
nullptr,
new EventBase()
},
state, state,
contextStore contextStore);
);
FAIL(); FAIL();
} catch (std::invalid_argument& e) { } catch (std::invalid_argument& e) {
// Pass test // Pass test
} }
try { try {
auto instance = std::make_shared<FlipperConnectionManagerImpl>(FlipperInitConfig { auto instance = std::make_shared<FlipperConnectionManagerImpl>(
DeviceData {}, FlipperInitConfig{DeviceData{}, new EventBase(), nullptr},
new EventBase(),
nullptr
},
state, state,
contextStore contextStore);
);
FAIL(); FAIL();
} catch (std::invalid_argument& e) { } catch (std::invalid_argument& e) {
// Pass test // Pass test
} }
} }
TEST_F(FlipperConnectionManagerImplTerminationTest, testNonStartedEventBaseDoesntHang) { TEST_F(
auto config = FlipperInitConfig { FlipperConnectionManagerImplTerminationTest,
DeviceData {}, testNonStartedEventBaseDoesntHang) {
new EventBase(), auto config =
new EventBase() FlipperInitConfig{DeviceData{}, new EventBase(), new EventBase()};
}; auto instance = std::make_shared<FlipperConnectionManagerImpl>(
auto instance = std::make_shared<FlipperConnectionManagerImpl>(config, state, contextStore); config, state, contextStore);
instance->start(); instance->start();
} }
TEST_F(FlipperConnectionManagerImplTerminationTest, testStartedEventBaseDoesntHang) { TEST_F(
FlipperConnectionManagerImplTerminationTest,
testStartedEventBaseDoesntHang) {
auto flipperEventBase = new EventBase(); auto flipperEventBase = new EventBase();
auto connectionEventBase = new EventBase(); auto connectionEventBase = new EventBase();
auto flipperThread = std::thread([flipperEventBase](){ auto flipperThread =
flipperEventBase->loopForever(); std::thread([flipperEventBase]() { flipperEventBase->loopForever(); });
}); auto connectionThread = std::thread(
auto connectionThread = std::thread([connectionEventBase](){ [connectionEventBase]() { connectionEventBase->loopForever(); });
connectionEventBase->loopForever(); auto config =
}); FlipperInitConfig{DeviceData{}, flipperEventBase, connectionEventBase};
auto config = FlipperInitConfig { auto instance = std::make_shared<FlipperConnectionManagerImpl>(
DeviceData {}, config, state, contextStore);
flipperEventBase,
connectionEventBase
};
auto instance = std::make_shared<FlipperConnectionManagerImpl>(config, state, contextStore);
instance->start(); instance->start();