Commit Graph

17 Commits

Author SHA1 Message Date
bpeyrou
ed826d7b91 Upgrade from android support v4 to androidX (#68) 2019-07-04 10:57:58 +02:00
Maytee Chinavanichkit
54b5e75b11 Fix non ascii character in comment (#82)
I was getting the following compilation errors when I pulled in this repo.

```
error: unmappable character for encoding ASCII
```

The root cause seems to be the character below was not from the ASCII set.
2019-03-28 11:25:54 +01:00
Michel dos Santos Kuguio
f28f889f98 update to gradle 4.10.1 or high (#60)
Add suport to gradle 4.10.1 or high!
The new version of android studio 3.3 recommendete to update gradle project to 4.10.1 

> To take advantage of the latest features, improvements, and security fixes, we strongly recommend that you update the Android Gradle plugin to version 3.3.0 and Gradle to version 4.10.1. [Release notes ](https://developer.android.com/studio/releases/gradle-plugin) 

>Android plugin 3.2.0 and higher now support building the Android App Bundle—a new upload format that defers APK generation and signing to compatible app stores, such as Google Play. With app bundles, you no longer have to build, sign, and manage multiple APKs, and users get smaller, more optimized downloads. [Learn more](https://developer.android.com/guide/app-bundle/?utm_source=android-studio)

but if the upgrade to the new Android gradle warning come up, becouse  was obsoleted 

> WARNING: API 'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()'.

> It will be removed at the end of 2019.
> For more information, [see ](https://d.android.com/r/tools/task-configuration-avoidance.)
> To determine what is calling variant.getJavaCompile(), use -Pandroid.debug.obsoleteApi=true on the command line to display a stack trace.


Changelog:
----------
[Android] [Deprecated] - fix warinings obsolete to update to gradle 4.10.1 or high

Test Plan:
----------
change gradle-wrapper.proprerties:
`- distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip`
`+ distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip`

and in build.gradle

` - classpath 'com.android.tools.build:gradle:3.2.0'`
`+ classpath 'com.android.tools.build:gradle:3.3.0'`

for warnnings starts, use this change and fix the problem! =)
2019-02-12 13:09:47 +01:00
Krzysztof Magiera
c741acf7cc Unwrap Context in order to retrieve Activity subclass (#59)
This fixes crash on Expo client which is wrapping Activity prior to passing it as a context to the root view.

After my recent change in the logic on how we access main activity we know extract the reference to it using `getContext` from the root view. Previously we were using `getTopLevelActivity` which wasn't working well in the cases where other non-react-native activities were transitioning in or out. The new approach however turned out not to be the best as for example expo client does not pass activity instance as a context directly to the root view. Instead the activity class is wrapped in ContextThemeWrapper ([see it here](41458d1de9/android/expoview/src/main/java/versioned/host/exp/exponent/ReactUnthemedRootView.java (L13))).

We now try to unwrap the context if it is not a fragment activity using `getBaseContext`

This fixes https://github.com/expo/expo/issues/3191
2019-01-15 16:29:46 +01:00
Krzysztof Magiera
c0b73545ff Avoid ReactContext.getCurrentActivity for accessing FragmentActivity 2019-01-04 16:44:01 +01:00
Krzysztof Magiera
369987f68e Make sure we access fragment manager only when view is attached (activity is foregrounded) (#52)
This change makes us reach to fragment manager only when screen container is attached to window (and therefore we are sure that the current activity is react one). The problem reported in #33 was due to the fact we'd do that when container is instantiated which does not necessarily mean that react activity is in foreground. We didn't need to actually access fragment manager while not in foreground so this change removes fragmentManager as a member and we get it directly from context when needed.

Supposedly fixes #33
2018-12-20 11:02:39 +01:00
Krzysztof Magiera
ac719105ac Android: Disable touch interaction on screens that are transitioning (#51) 2018-12-20 10:02:56 +01:00
Krzysztof Magiera
68a02d58d7 Android alpha compositing (#50)
This change adds an ability for screen container on Android to apply the correct mechanism for transparent layer blending. This is specifically important as screens are usually a complex views that may displays many layers and while transitioning often opacity is used to animate these. When we detect screen transitioning we (a) turn on offscreen alpha compositing (which makes the opacity being applied for the whole screen layer at once instead of making all the children semi-transparent) and also (b) turn on hardware layer that makes offscreen compositing render to GPU (which is both faster and consumes only GPU memory).

In addition to that change we also need to disable wrapping Screen's children with View, as in such a case opacity is applied on the underlying View instead of a Screen. That workaround has been added because of a bug in Animated library and fixed in RN 0.57+
2018-12-20 09:06:28 +01:00
Tycho Tatitscheff
bf0cca0bae Update build.gradle (#45)
gradle 2.2.1 is no more resolved on maven. This resuts in a build error like:

```
* What went wrong:
A problem occurred configuring project ':react-native-image-picker'.
> Could not resolve all artifacts for configuration ':react-native-image-picker:classpath'.
   > Could not find any matches for com.android.tools.build:gradle:2.2.+ as no versions of com.android.tools.build:gradle are available.
     Searched in the following locations:
       - https://jcenter.bintray.com/com/android/tools/build/gradle/maven-metadata.xml
       - https://jcenter.bintray.com/com/android/tools/build/gradle/
     Required by:
         project :react-native-image-picker
```

RNSvg already fix here : e48dbdb08b (diff-c31b32364ce19ca8fcd150a417ecce58)
2018-12-18 12:53:56 +01:00
Guillaume Duveau
68424adc39 Support project-wide properties, replace deprecated configuration (#41) 2018-12-05 08:19:35 +01:00
Janic Duplessis
ece5b6ef6a Use commitAllowingStateLoss instead of commit (#24)
This fixes a crash I saw in production on Android `java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState`. The fix is based on the comment here https://stackoverflow.com/questions/7575921/illegalstateexception-can-not-perform-this-action-after-onsaveinstancestate-wit.

The crash stopped happening since deploying this fix.

Fixes #20
2018-10-11 12:44:34 +02:00
Thibault Malbranche
0daa7e2ef7 Rename RNScreen to RNScreens to stay consistent (#27) 2018-10-08 09:06:12 +02:00
blake
851fed90c8 fixes setActive method when the param is not int type in Android 2018-09-17 14:14:59 +08:00
Krzysztof Magiera
8e13c58b6e Get rid of stackcontainer (for now) 2018-09-07 18:04:08 +02:00
Krzysztof Magiera
70c022c628 Fix mounting nested fragments in the same transaction 2018-08-21 11:02:39 +02:00
Krzysztof Magiera
d6ae2caea8 Use int as a type for 'active' prop to make it animatable on Android 2018-08-13 19:35:21 +02:00
Krzysztof Magiera
31281d6b68 Initial commit. 2018-08-03 13:54:11 +02:00