diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index 83d3645d5..e8e3e1e1b 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -39,7 +39,6 @@ set(glog_DIR ${third_party_ndk}/glog) set(BOOST_DIR ${third_party_ndk}/boost/boost_1_63_0/) set(LIBEVENT_DIR ${third_party_ndk}/LibEvent/libevent-release-2.1.9/) -message(STATUS "AAAANDROID LIBEVENT_DIR => " ${LIBEVENT_DIR}) set(build_DIR ${CMAKE_SOURCE_DIR}/build) set(fbjni_build_DIR ${build_DIR}/fbjni/${ANDROID_ABI}) diff --git a/android/build.gradle b/android/build.gradle index efc37d665..646f672ad 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -196,7 +196,7 @@ android { targetSdkVersion rootProject.targetSdkVersion buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true' ndk { - abiFilters 'arm64-v8a', 'x86' + abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a' stl 'c++_shared' } diff --git a/android/sample/build.gradle b/android/sample/build.gradle index cbee5c66b..d27d3c761 100644 --- a/android/sample/build.gradle +++ b/android/sample/build.gradle @@ -45,19 +45,19 @@ dependencies { androidTestImplementation deps.supportTestRunner androidTestImplementation deps.supportEspresso // Litho -// implementation deps.lithoCore -// implementation deps.lithoWidget -// compileOnly deps.lithoAnnotations + implementation deps.lithoCore + implementation deps.lithoWidget + compileOnly deps.lithoAnnotations -// annotationProcessor deps.lithoProcessor + annotationProcessor deps.lithoProcessor // SoLoader implementation deps.soloader // For integration with Fresco -// implementation deps.lithoFresco + implementation deps.lithoFresco // For testing -// testImplementation deps.lithoTesting + testImplementation deps.lithoTesting implementation deps.okhttp3 implementation project(':android') diff --git a/android/sample/src/sonar/com/facebook/sonar/sample/MainActivity.java b/android/sample/src/sonar/com/facebook/sonar/sample/MainActivity.java index 301bbad1c..3229b4c68 100644 --- a/android/sample/src/sonar/com/facebook/sonar/sample/MainActivity.java +++ b/android/sample/src/sonar/com/facebook/sonar/sample/MainActivity.java @@ -8,8 +8,8 @@ import java.util.List; import android.widget.LinearLayout.LayoutParams; import android.widget.LinearLayout; import android.widget.TextView; -// import com.facebook.litho.ComponentContext; -// import com.facebook.litho.LithoView; +import com.facebook.litho.ComponentContext; +import com.facebook.litho.LithoView; import android.util.Log; public class MainActivity extends AppCompatActivity { @@ -17,21 +17,10 @@ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Log.d("ON CREATE SAMPLE APP", "I m in Oncreate of sample app"); -// final ComponentContext c = new ComponentContext(this); - // setContentView( - // LithoView.create( - // c, - // RootComponent.create(c).build())); - LinearLayout linearLayout = new LinearLayout(this); - TextView ProgrammaticallyTextView = new TextView(this); - ProgrammaticallyTextView.setText("Hello World"); - ProgrammaticallyTextView.setTextSize(22); - ProgrammaticallyTextView.setPadding(20, 300, 20, 100); - - linearLayout.addView(ProgrammaticallyTextView); - - setContentView(linearLayout, new LinearLayout.LayoutParams( - LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); + final ComponentContext c = new ComponentContext(this); + setContentView( + LithoView.create( + c, + RootComponent.create(c).build())); } } diff --git a/android/sample/src/sonar/com/facebook/sonar/sample/RootComponentSpec.java b/android/sample/src/sonar/com/facebook/sonar/sample/RootComponentSpec.java index 9d3381760..aec4b7828 100644 --- a/android/sample/src/sonar/com/facebook/sonar/sample/RootComponentSpec.java +++ b/android/sample/src/sonar/com/facebook/sonar/sample/RootComponentSpec.java @@ -1,105 +1,105 @@ -// // Copyright 2004-present Facebook. All Rights Reserved. -// -// package com.facebook.sonar.sample; -// -// import com.facebook.litho.Column; -// import com.facebook.litho.Component; -// import com.facebook.litho.ComponentContext; -// import com.facebook.litho.annotations.LayoutSpec; -// import com.facebook.litho.annotations.OnCreateLayout; -// import com.facebook.litho.widget.Text; -// import okhttp3.Request; -// import okhttp3.Response; -// import okhttp3.RequestBody; -// import okhttp3.FormBody; -// import okhttp3.FormBody.Builder; -// import okhttp3.OkHttpClient; -// import okhttp3.Call; -// import okhttp3.Callback; -// import com.facebook.litho.ClickEvent; -// import android.util.Log; -// import java.io.IOException; -// import com.facebook.litho.annotations.OnEvent; -// -// @LayoutSpec -// public class RootComponentSpec { -// -// @OnCreateLayout -// static Component onCreateLayout(ComponentContext c) { -// return Column.create(c) -// .child( -// Text.create(c) -// .text("Tap to hit get request") -// .key("1") -// .textSizeSp(20) -// .clickHandler(RootComponent.hitGetRequest(c))) -// .child( -// Text.create(c) -// .text("Tap to hit post request") -// .key("2") -// .textSizeSp(20) -// .clickHandler(RootComponent.hitPostRequest(c))) -// .child( -// Text.create(c) -// .text("I m just a text") -// .key("3") -// .textSizeSp(20)) -// .build(); -// } -// -// @OnEvent(ClickEvent.class) -// static void hitGetRequest(ComponentContext c) { -// -// Request request = new Request.Builder() -// .url("https://api.github.com/repos/facebook/yoga") -// .get() -// .build(); -// SonarSampleApplication.okhttpClient.newCall(request).enqueue(new Callback() { -// @Override -// public void onFailure(Call call, IOException e) { -// e.printStackTrace(); -// Log.d("Sonar", e.getMessage()); -// } -// -// @Override -// public void onResponse(Call call, Response response) throws IOException { -// if (response.isSuccessful()) { -// Log.d("Sonar", response.body().string()); -// } else { -// Log.d("Sonar", "not successful"); -// } -// } -// }); -// } -// -// @OnEvent(ClickEvent.class) -// static void hitPostRequest(ComponentContext c) { -// -// RequestBody formBody = new FormBody.Builder() -// .add("app", "Sonar") -// .add("remarks", "Its awesome") -// .build(); -// -// Request request = new Request.Builder() -// .url("https://demo9512366.mockable.io/SonarPost") -// .post(formBody) -// .build(); -// -// SonarSampleApplication.okhttpClient.newCall(request).enqueue(new Callback() { -// @Override -// public void onFailure(Call call, IOException e) { -// e.printStackTrace(); -// Log.d("Sonar", e.getMessage()); -// } -// -// @Override -// public void onResponse(Call call, Response response) throws IOException { -// if (response.isSuccessful()) { -// Log.d("Sonar", response.body().string()); -// } else { -// Log.d("Sonar", "not successful"); -// } -// } -// }); -// } -// } +// Copyright 2004-present Facebook. All Rights Reserved. + +package com.facebook.sonar.sample; + +import com.facebook.litho.Column; +import com.facebook.litho.Component; +import com.facebook.litho.ComponentContext; +import com.facebook.litho.annotations.LayoutSpec; +import com.facebook.litho.annotations.OnCreateLayout; +import com.facebook.litho.widget.Text; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.RequestBody; +import okhttp3.FormBody; +import okhttp3.FormBody.Builder; +import okhttp3.OkHttpClient; +import okhttp3.Call; +import okhttp3.Callback; +import com.facebook.litho.ClickEvent; +import android.util.Log; +import java.io.IOException; +import com.facebook.litho.annotations.OnEvent; + +@LayoutSpec +public class RootComponentSpec { + + @OnCreateLayout + static Component onCreateLayout(ComponentContext c) { + return Column.create(c) + .child( + Text.create(c) + .text("Tap to hit get request") + .key("1") + .textSizeSp(20) + .clickHandler(RootComponent.hitGetRequest(c))) + .child( + Text.create(c) + .text("Tap to hit post request") + .key("2") + .textSizeSp(20) + .clickHandler(RootComponent.hitPostRequest(c))) + .child( + Text.create(c) + .text("I m just a text") + .key("3") + .textSizeSp(20)) + .build(); + } + +@OnEvent(ClickEvent.class) + static void hitGetRequest(ComponentContext c) { + + Request request = new Request.Builder() + .url("https://api.github.com/repos/facebook/yoga") + .get() + .build(); + SonarSampleApplication.okhttpClient.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + Log.d("Sonar", e.getMessage()); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + if (response.isSuccessful()) { + Log.d("Sonar", response.body().string()); + } else { + Log.d("Sonar", "not successful"); + } + } + }); + } + + @OnEvent(ClickEvent.class) + static void hitPostRequest(ComponentContext c) { + + RequestBody formBody = new FormBody.Builder() + .add("app", "Sonar") + .add("remarks", "Its awesome") + .build(); + + Request request = new Request.Builder() + .url("https://demo9512366.mockable.io/SonarPost") + .post(formBody) + .build(); + + SonarSampleApplication.okhttpClient.newCall(request).enqueue(new Callback() { + @Override + public void onFailure(Call call, IOException e) { + e.printStackTrace(); + Log.d("Sonar", e.getMessage()); + } + + @Override + public void onResponse(Call call, Response response) throws IOException { + if (response.isSuccessful()) { + Log.d("Sonar", response.body().string()); + } else { + Log.d("Sonar", "not successful"); + } + } + }); + } +} diff --git a/android/sample/src/sonar/com/facebook/sonar/sample/SonarSampleApplication.java b/android/sample/src/sonar/com/facebook/sonar/sample/SonarSampleApplication.java index 3a3c7983a..18c32e30f 100644 --- a/android/sample/src/sonar/com/facebook/sonar/sample/SonarSampleApplication.java +++ b/android/sample/src/sonar/com/facebook/sonar/sample/SonarSampleApplication.java @@ -10,54 +10,46 @@ import java.util.List; import android.widget.LinearLayout.LayoutParams; import android.widget.LinearLayout; import android.widget.TextView; -// import com.facebook.litho.sonar.LithoSonarDescriptors; +import com.facebook.litho.sonar.LithoSonarDescriptors; import com.facebook.soloader.SoLoader; import com.facebook.sonar.plugins.inspector.DescriptorMapping; import com.facebook.sonar.plugins.inspector.InspectorSonarPlugin; -// import com.facebook.sonar.android.utils.SonarUtils; +import com.facebook.sonar.android.utils.SonarUtils; import com.facebook.sonar.android.AndroidSonarClient; import com.facebook.sonar.core.SonarClient; -// import com.facebook.sonar.plugins.inspector.DescriptorMapping; -// import com.facebook.sonar.plugins.inspector.InspectorSonarPlugin; -// import com.facebook.sonar.plugins.network.NetworkSonarPlugin; -// import com.facebook.sonar.plugins.network.SonarOkhttpInterceptor; -// import com.facebook.sonar.plugins.network.NetworkResponseFormatter; -// import okhttp3.OkHttpClient; +import com.facebook.sonar.plugins.inspector.DescriptorMapping; +import com.facebook.sonar.plugins.inspector.InspectorSonarPlugin; +import com.facebook.sonar.plugins.network.NetworkSonarPlugin; +import com.facebook.sonar.plugins.network.SonarOkhttpInterceptor; +import com.facebook.sonar.plugins.network.NetworkResponseFormatter; +import okhttp3.OkHttpClient; import java.util.concurrent.TimeUnit; public class SonarSampleApplication extends Application { - //static public OkHttpClient okhttpClient; + static public OkHttpClient okhttpClient; @Override public void onCreate() { super.onCreate(); SoLoader.init(this, false); - try { - //SoLoader.loadLibrary("sonarfb"); - SoLoader.loadLibrary("sonarfb"); - } catch (Exception e) { - throw new RuntimeException(e); - } - // final SonarClient client = AndroidSonarClient.getInstance(this); - // final DescriptorMapping descriptorMapping = DescriptorMapping.withDefaults(); - // client.addPlugin(new InspectorSonarPlugin(this, descriptorMapping)); - // client.start(); - // final DescriptorMapping descriptorMapping = DescriptorMapping.withDefaults(); - // - // NetworkSonarPlugin networkPlugin = new NetworkSonarPlugin(); - // SonarOkhttpInterceptor interceptor = new SonarOkhttpInterceptor(networkPlugin); - // - // okhttpClient = new OkHttpClient.Builder() - // .addNetworkInterceptor(interceptor) - // .connectTimeout(60, TimeUnit.SECONDS) - // .readTimeout(60, TimeUnit.SECONDS) - // .writeTimeout(10, TimeUnit.MINUTES) - // .build(); - // - // //LithoSonarDescriptors.add(descriptorMapping); - // //client.addPlugin(new InspectorSonarPlugin(this, descriptorMapping)); - // client.addPlugin(networkPlugin); - // client.start(); + + final SonarClient client = AndroidSonarClient.getInstance(this); + final DescriptorMapping descriptorMapping = DescriptorMapping.withDefaults(); + + NetworkSonarPlugin networkPlugin = new NetworkSonarPlugin(); + SonarOkhttpInterceptor interceptor = new SonarOkhttpInterceptor(networkPlugin); + + okhttpClient = new OkHttpClient.Builder() + .addNetworkInterceptor(interceptor) + .connectTimeout(60, TimeUnit.SECONDS) + .readTimeout(60, TimeUnit.SECONDS) + .writeTimeout(10, TimeUnit.MINUTES) + .build(); + + LithoSonarDescriptors.add(descriptorMapping); + client.addPlugin(new InspectorSonarPlugin(this, descriptorMapping)); + client.addPlugin(networkPlugin); + client.start(); } } diff --git a/android/third-party/DoubleConversion/CMakeLists.txt b/android/third-party/DoubleConversion/CMakeLists.txt index 3e9993f7e..af6748b35 100644 --- a/android/third-party/DoubleConversion/CMakeLists.txt +++ b/android/third-party/DoubleConversion/CMakeLists.txt @@ -6,7 +6,6 @@ set(PACKAGE_NAME doubleconversion) set(doubleconversion_DIR double-conversion-3.0.0/double-conversion) include_directories(${doubleconversion_DIR}) file(GLOB SRCFILES ${doubleconversion_DIR}/*.cc) -message(STATUS "SRC FILES :- " ${SRCFILES}) add_library(${PACKAGE_NAME} SHARED ${SRCFILES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) target_link_libraries(${PACKAGE_NAME}) diff --git a/android/third-party/Folly/CMakeLists.txt b/android/third-party/Folly/CMakeLists.txt index 48ca968f9..67c425a2e 100644 --- a/android/third-party/Folly/CMakeLists.txt +++ b/android/third-party/Folly/CMakeLists.txt @@ -106,7 +106,6 @@ list(APPEND SRC_FILES ${FOLLY_DIR}/io/async/HHWheelTimer.cpp ${FOLLY_DIR}/memory/detail/MallocImpl.cpp ) -message(STATUS "SRC FILES:- " ${SRC_FILES}) add_library(${PACKAGE_NAME} SHARED ${SRC_FILES}) set(build_DIR ${CMAKE_SOURCE_DIR}/build) @@ -135,7 +134,6 @@ target_include_directories(${PACKAGE_NAME} PRIVATE set(LIBEXTRA_PATH /Users/prit91/LocalDevTesting/sonar-upstream-proper/Sonar/android/build/third-party-ndk/LibEvent/.externalNativeBuild/cmake/debug/${ANDROID_ABI}/lib) set(OPENSSL_LINK_DIRECTORIES ${PROJECT_SOURCE_DIR}/../OpenSSL/libs/${ANDROID_ABI}/) find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) -message(STATUS "link_directories:- " ${LIBEVENT_LINK_DIRECTORIES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) diff --git a/android/third-party/Folly/build.gradle b/android/third-party/Folly/build.gradle index c9101a456..59d7fd6f0 100644 --- a/android/third-party/Folly/build.gradle +++ b/android/third-party/Folly/build.gradle @@ -9,7 +9,7 @@ android { targetSdkVersion rootProject.targetSdkVersion buildConfigField "boolean", "IS_INTERNAL_BUILD", 'true' ndk { - abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a' + abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a', 'armeabi' } externalNativeBuild { @@ -40,5 +40,3 @@ android { } } -// 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' -//'arm64-v8a', 'x86', 'armeabi-v7a' diff --git a/android/third-party/LibEvent/CMakeLists.txt b/android/third-party/LibEvent/CMakeLists.txt index 9cd1214d1..1a8626416 100644 --- a/android/third-party/LibEvent/CMakeLists.txt +++ b/android/third-party/LibEvent/CMakeLists.txt @@ -32,7 +32,6 @@ list(APPEND SRCFILES ${LIBEVENT_DIR}/event.c ${LIBEVENT_DIR}/strlcpy.c ) -message(STATUS "DIR_LIST :- " ${DIR_LIST}) add_library(${PACKAGE_NAME} SHARED ${SRCFILES}) install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) target_link_libraries(${PACKAGE_NAME}) diff --git a/android/third-party/LibEvent/build.gradle b/android/third-party/LibEvent/build.gradle index eb7dd082d..252f28ca8 100644 --- a/android/third-party/LibEvent/build.gradle +++ b/android/third-party/LibEvent/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion ndk { - abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a' + abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a', 'armeabi' } externalNativeBuild { @@ -31,4 +31,3 @@ android { } } } -//'x86', 'x86_64', 'armeabi-v7a', diff --git a/android/third-party/OpenSSL/build.gradle b/android/third-party/OpenSSL/build.gradle index 2fe717883..5525de45d 100644 --- a/android/third-party/OpenSSL/build.gradle +++ b/android/third-party/OpenSSL/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion ndk { - abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a' + abiFilters 'arm64-v8a', 'x86', 'armeabi-v7a', 'armeabi' } externalNativeBuild { diff --git a/android/third-party/RSocket/CMakeLists.txt b/android/third-party/RSocket/CMakeLists.txt index 4855feb01..ba6ffeebc 100644 --- a/android/third-party/RSocket/CMakeLists.txt +++ b/android/third-party/RSocket/CMakeLists.txt @@ -18,7 +18,6 @@ set(RSOCKET_DIR ${PROJECT_SOURCE_DIR}/rsocket-cpp-0.10.1/rsocket) list(APPEND dir_list ${RSOCKET_ROOT_DIR}/) list(APPEND dir_list ${RSOCKET_DIR}/) -#list(APPEND dir_list ${RSOCKET_DIR}/benchmarks) list(APPEND dir_list ${RSOCKET_DIR}/framing) list(APPEND dir_list ${RSOCKET_DIR}/internal) list(APPEND dir_list ${RSOCKET_DIR}/statemachine) @@ -29,7 +28,6 @@ list(APPEND dir_list ${RSOCKET_ROOT_DIR}/yarpl/observable) list(APPEND dir_list ${RSOCKET_ROOT_DIR}/yarpl/utils) file(GLOB SRC_FILES ${RSOCKET_DIR}/*.cpp - # ${RSOCKET_DIR}/benchmarks/*.cpp ${RSOCKET_DIR}/internal/*.cpp ${RSOCKET_DIR}/framing/*.cpp ${RSOCKET_DIR}/statemachine/*.cpp @@ -62,8 +60,6 @@ add_compile_options( -Wno-tautological-constant-compare ) -#file(GLOB_RECURSE SRCFILES ${RSOCKET_DIR}/*.cpp) - add_library(${PACKAGE_NAME} SHARED ${SRC_FILES}) set(build_DIR ${CMAKE_SOURCE_DIR}/build) @@ -89,7 +85,6 @@ target_include_directories(${PACKAGE_NAME} PRIVATE ) -#install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) set(OPENSSL_LINK_DIRECTORIES ${third_party_ndk}/OpenSSL/libs/${ANDROID_ABI}/) find_path(OPENSSL_LIBRARY libssl.so HINTS ${OPENSSL_LINK_DIRECTORIES}) diff --git a/android/third-party/glog/CMakeLists.txt b/android/third-party/glog/CMakeLists.txt index 346f24852..63cbf972d 100644 --- a/android/third-party/glog/CMakeLists.txt +++ b/android/third-party/glog/CMakeLists.txt @@ -13,7 +13,6 @@ list(APPEND dir_list ${glog_DIR}/src) list(APPEND dir_list ${glog_DIR}/glog) list(APPEND dir_list ${glog_DIR}/base) -message(STATUS "dir_list = " ${dir_list}) include_directories(${dir_list}) add_compile_options( diff --git a/libs/fbjni/CMakeLists.txt b/libs/fbjni/CMakeLists.txt index 97018a56f..1f71b8a70 100644 --- a/libs/fbjni/CMakeLists.txt +++ b/libs/fbjni/CMakeLists.txt @@ -32,7 +32,6 @@ list(APPEND FBJNI_HDRS ${FBJNI_CXX}/../../jni-hack) include_directories(${FBJNI_HDRS}) -message(STATUS "FBJNI_HDRS =>" ${FBJNI_HDRS}) file(GLOB FBJNI_SRC ${FBJNI_CXX}/fbjni/*.cpp ${FBJNI_CXX}/fbjni/detail/*.cpp @@ -42,9 +41,6 @@ file(GLOB FBJNI_SRC add_library(${PACKAGE_NAME} SHARED ${FBJNI_SRC}) -target_include_directories(${PACKAGE_NAME} PRIVATE - include ${FBJNI_HDRS}) - -#install(TARGETS ${PACKAGE_NAME} DESTINATION ./build/) +target_include_directories(${PACKAGE_NAME} PRIVATE ${FBJNI_HDRS}) target_link_libraries(${PACKAGE_NAME} android log)