diff --git a/ide/AndroidStudio3/AndroidStudio3.iml b/ide/AndroidStudio3/AndroidStudio3.iml
new file mode 100644
index 000000000..e1f575209
--- /dev/null
+++ b/ide/AndroidStudio3/AndroidStudio3.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Android/HelloAndroid/HelloAndroid.iml b/ide/AndroidStudio3/HelloAndroid.iml
similarity index 100%
rename from Android/HelloAndroid/HelloAndroid.iml
rename to ide/AndroidStudio3/HelloAndroid.iml
diff --git a/Android/HelloAndroid/README.md b/ide/AndroidStudio3/README.md
similarity index 100%
rename from Android/HelloAndroid/README.md
rename to ide/AndroidStudio3/README.md
diff --git a/Android/HelloAndroid/app/app.iml b/ide/AndroidStudio3/app/app.iml
similarity index 100%
rename from Android/HelloAndroid/app/app.iml
rename to ide/AndroidStudio3/app/app.iml
index a83784e31..ffb02d88c 100644
--- a/Android/HelloAndroid/app/app.iml
+++ b/ide/AndroidStudio3/app/app.iml
@@ -56,14 +56,6 @@
-
-
-
-
-
-
-
-
@@ -72,6 +64,14 @@
+
+
+
+
+
+
+
+
diff --git a/Android/HelloAndroid/app/build.gradle b/ide/AndroidStudio3/app/build.gradle
similarity index 100%
rename from Android/HelloAndroid/app/build.gradle
rename to ide/AndroidStudio3/app/build.gradle
diff --git a/Android/HelloAndroid/app/src/main/AndroidManifest.xml b/ide/AndroidStudio3/app/src/main/AndroidManifest.xml
similarity index 100%
rename from Android/HelloAndroid/app/src/main/AndroidManifest.xml
rename to ide/AndroidStudio3/app/src/main/AndroidManifest.xml
diff --git a/Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt b/ide/AndroidStudio3/app/src/main/cpp/CMakeLists.txt
similarity index 100%
rename from Android/HelloAndroid/app/src/main/cpp/CMakeLists.txt
rename to ide/AndroidStudio3/app/src/main/cpp/CMakeLists.txt
diff --git a/Android/HelloAndroid/app/src/main/cpp/HelloAndroid.cxx b/ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx
similarity index 100%
rename from Android/HelloAndroid/app/src/main/cpp/HelloAndroid.cxx
rename to ide/AndroidStudio3/app/src/main/cpp/HelloAndroid.cxx
diff --git a/Android/HelloAndroid/app/src/main/res/mipmap-hdpi/ic_launcher.png b/ide/AndroidStudio3/app/src/main/res/mipmap-hdpi/ic_launcher.png
similarity index 100%
rename from Android/HelloAndroid/app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to ide/AndroidStudio3/app/src/main/res/mipmap-hdpi/ic_launcher.png
diff --git a/Android/HelloAndroid/app/src/main/res/mipmap-mdpi/ic_launcher.png b/ide/AndroidStudio3/app/src/main/res/mipmap-mdpi/ic_launcher.png
similarity index 100%
rename from Android/HelloAndroid/app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to ide/AndroidStudio3/app/src/main/res/mipmap-mdpi/ic_launcher.png
diff --git a/Android/HelloAndroid/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/ide/AndroidStudio3/app/src/main/res/mipmap-xhdpi/ic_launcher.png
similarity index 100%
rename from Android/HelloAndroid/app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to ide/AndroidStudio3/app/src/main/res/mipmap-xhdpi/ic_launcher.png
diff --git a/Android/HelloAndroid/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ide/AndroidStudio3/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
similarity index 100%
rename from Android/HelloAndroid/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to ide/AndroidStudio3/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
diff --git a/Android/HelloAndroid/app/src/main/res/values/strings.xml b/ide/AndroidStudio3/app/src/main/res/values/strings.xml
similarity index 100%
rename from Android/HelloAndroid/app/src/main/res/values/strings.xml
rename to ide/AndroidStudio3/app/src/main/res/values/strings.xml
diff --git a/Android/HelloAndroid/build.gradle b/ide/AndroidStudio3/build.gradle
similarity index 100%
rename from Android/HelloAndroid/build.gradle
rename to ide/AndroidStudio3/build.gradle
diff --git a/Android/HelloAndroid/gradle/wrapper/gradle-wrapper.jar b/ide/AndroidStudio3/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from Android/HelloAndroid/gradle/wrapper/gradle-wrapper.jar
rename to ide/AndroidStudio3/gradle/wrapper/gradle-wrapper.jar
diff --git a/Android/HelloAndroid/gradle/wrapper/gradle-wrapper.properties b/ide/AndroidStudio3/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from Android/HelloAndroid/gradle/wrapper/gradle-wrapper.properties
rename to ide/AndroidStudio3/gradle/wrapper/gradle-wrapper.properties
diff --git a/Android/HelloAndroid/gradlew b/ide/AndroidStudio3/gradlew
similarity index 100%
rename from Android/HelloAndroid/gradlew
rename to ide/AndroidStudio3/gradlew
diff --git a/Android/HelloAndroid/gradlew.zip b/ide/AndroidStudio3/gradlew.zip
similarity index 100%
rename from Android/HelloAndroid/gradlew.zip
rename to ide/AndroidStudio3/gradlew.zip
diff --git a/Android/HelloAndroid/settings.gradle b/ide/AndroidStudio3/settings.gradle
similarity index 100%
rename from Android/HelloAndroid/settings.gradle
rename to ide/AndroidStudio3/settings.gradle
diff --git a/src/drivers/Android/Fl_Android_Application.cxx b/src/drivers/Android/Fl_Android_Application.cxx
index 59fa8483c..0219d66fe 100644
--- a/src/drivers/Android/Fl_Android_Application.cxx
+++ b/src/drivers/Android/Fl_Android_Application.cxx
@@ -397,9 +397,21 @@ void Fl_Android_Application::copy_screen()
// TODO: there are endless possibilities to optimize the following code
// We can identify previously written buffers and copy only those pixels
// that actually changed.
- memcpy(pNativeWindowBuffer.bits,
- pApplicationWindowBuffer.bits,
- 600*800*2);
+ const uint16_t *src = (uint16_t*)pApplicationWindowBuffer.bits;
+ int srcStride = pApplicationWindowBuffer.stride;
+ int ww = pApplicationWindowBuffer.width;
+ int hh = pApplicationWindowBuffer.height;
+
+ uint16_t *dst = (uint16_t*)pNativeWindowBuffer.bits;
+ int dstStride = pNativeWindowBuffer.stride;
+ if (pNativeWindowBuffer.width0; --row) {
+ memcpy(dst, src, size_t(ww * 2));
+ src += srcStride;
+ dst += dstStride;
+ }
unlock_and_post_screen();
}
}