summaryrefslogtreecommitdiffstats
path: root/android
diff options
context:
space:
mode:
Diffstat (limited to 'android')
-rw-r--r--android/Makefile419
-rw-r--r--android/README189
-rw-r--r--android/android.iml19
-rw-r--r--android/build.gradle30
-rw-r--r--android/gradle/wrapper/gradle-wrapper.jarbin53636 -> 0 bytes
-rw-r--r--android/gradle/wrapper/gradle-wrapper.properties6
-rwxr-xr-xandroid/gradlew160
-rw-r--r--android/gradlew.bat90
-rw-r--r--android/local.properties11
-rw-r--r--android/screenhack-android.c209
-rw-r--r--android/settings.gradle1
-rw-r--r--android/xscreensaver/.idea/caches/build_file_checksums.serbin521 -> 0 bytes
-rw-r--r--android/xscreensaver/.idea/codeStyles/Project.xml29
-rw-r--r--android/xscreensaver/.idea/compiler.xml22
-rw-r--r--android/xscreensaver/.idea/gradle.xml19
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml11
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml11
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml11
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml12
-rw-r--r--android/xscreensaver/.idea/misc.xml34
-rw-r--r--android/xscreensaver/.idea/modules.xml9
-rw-r--r--android/xscreensaver/.idea/runConfigurations.xml12
-rw-r--r--android/xscreensaver/.idea/workspace.xml2205
l---------android/xscreensaver/assets/fonts/OCRAStd.otf1
l---------android/xscreensaver/assets/fonts/PxPlus_IBM_VGA8.ttf1
l---------android/xscreensaver/assets/fonts/YearlReg.ttf1
-rw-r--r--android/xscreensaver/build.gradle113
-rw-r--r--android/xscreensaver/build.xml92
-rw-r--r--android/xscreensaver/gradle/wrapper/gradle-wrapper.jarbin53636 -> 0 bytes
-rw-r--r--android/xscreensaver/gradle/wrapper/gradle-wrapper.properties6
-rw-r--r--android/xscreensaver/gradlew160
-rw-r--r--android/xscreensaver/gradlew.bat90
-rw-r--r--android/xscreensaver/jni/Android.mk200
-rw-r--r--android/xscreensaver/jni/Application.mk7
-rw-r--r--android/xscreensaver/local.properties11
-rw-r--r--android/xscreensaver/project.properties15
-rw-r--r--android/xscreensaver/res/drawable-ldpi/icon.pngbin2134 -> 0 bytes
-rw-r--r--android/xscreensaver/res/drawable-mdpi/icon.pngbin3039 -> 0 bytes
-rw-r--r--android/xscreensaver/res/drawable/thumbnail.pngbin69607 -> 0 bytes
-rw-r--r--android/xscreensaver/res/layout-land/activity_xscreensaver.xml59
-rw-r--r--android/xscreensaver/res/layout/activity_tv_xscreensaver.xml41
-rw-r--r--android/xscreensaver/res/layout/activity_xscreensaver.xml44
-rw-r--r--android/xscreensaver/res/layout/main.xml7
-rw-r--r--android/xscreensaver/res/layout/preference_blurb.xml45
-rw-r--r--android/xscreensaver/res/layout/slider_preference.xml60
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/Activity.java169
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/App.java22
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/Daydream.java269
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/Settings.java179
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/SliderPreference.java160
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/TTFAnalyzer.java153
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/TVActivity.java50
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/Wallpaper.java128
-rw-r--r--android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java1115
-rw-r--r--android/xscreensaver/xscreensaver.iml117
64 files changed, 0 insertions, 6932 deletions
diff --git a/android/Makefile b/android/Makefile
deleted file mode 100644
index ed65edf..0000000
--- a/android/Makefile
+++ /dev/null
@@ -1,419 +0,0 @@
-# XScreenSaver for Android
-
-export TERM=dumb
-GRADLE = ./gradlew
-
-default:: debug
-all:: release
-
-clean::
- $(GRADLE) clean
-
-distdepend::
-
-# Set this to the set of platforms you want to compile for in debug mode.
-# E.g., if you are running an x86 emulator, there's no point in compiling
-# for a dozen other platforms. Release builds override this to "all".
-#
-export APP_ABI = all
-
-
-# TODO:
-# check_versions:
-
-
-# These hacks have interdependencies with others, so we can't build without
-# including them or there are link errors:
-#
-ANDROID_BASE_HACKS= \
- apple2 \
- bubble3d \
- pacman \
- polyhedra \
- sonar \
- sproingies \
-
-# These are the ones that currently work, at least to some degree:
-#
-export ANDROID_HACKS= \
- $(ANDROID_BASE_HACKS) \
- abstractile \
- anemone \
- anemotaxis \
- antmaze \
- antspotlight \
- apollonian \
- atlantis \
- attraction \
- atunnel \
- binaryring \
- blaster \
- blinkbox \
- blitspin \
- blocktube \
- boing \
- bouboule \
- bouncingcow \
- boxed \
- boxfit \
- braid \
- bsod \
- bumps \
- cage \
- ccurve \
- celtic \
- circuit \
- cityflow \
- cloudlife \
- companioncube \
- compass \
- coral \
- crackberg \
- crumbler \
- crystal \
- cube21 \
- cubenetic \
- cubestack \
- cubestorm \
- cubetwist \
- cubicgrid \
- cwaves \
- cynosure \
- dangerball \
- decayscreen \
- deco \
- deluxe \
- demon \
- discoball \
- discrete \
- distort \
- dnalogo \
- drift \
- dymaxionmap \
- endgame \
- energystream \
- engine \
- epicycle \
- eruption \
- esper \
- euler2d \
- fadeplot \
- fiberlamp \
- filmleader \
- fireworkx \
- flame \
- flipflop \
- flipscreen3d \
- flow \
- fluidballs \
- flyingtoasters \
- fuzzyflakes \
- galaxy \
- gears \
- geodesic \
- geodesicgears \
- gflux \
- glblur \
- glcells \
- gleidescope \
- glhanoi \
- glknots \
- glmatrix \
- glplanet \
- glschool \
- glslideshow \
- glsnake \
- gltext \
- goop \
- grav \
- greynetic \
- halo \
- handsy \
- helix \
- hexadrop \
- hexstrut \
- hilbert \
- hopalong \
- hypertorus \
- hypnowheel \
- ifs \
- imsmap \
- interaggregate \
- interference \
- intermomentary \
- jigglypuff \
- jigsaw \
- julia \
- kaleidescope \
- kaleidocycle \
- klein \
- kumppa \
- lament \
- lavalite \
- loop \
- m6502 \
- maze \
- maze3d \
- memscroller \
- menger \
- metaballs \
- mirrorblob \
- moebius \
- moebiusgears \
- moire \
- moire2 \
- morph3d \
- mountain \
- munch \
- nerverot \
- noof \
- noseguy \
- peepers \
- penetrate \
- penrose \
- petri \
- piecewise \
- pinion \
- pipes \
- polytopes \
- pong \
- popsquares \
- projectiveplane \
- providence \
- pulsar \
- pyro \
- quasicrystal \
- queens \
- raverhoop \
- razzledazzle \
- rd-bomb \
- ripples \
- rocks \
- romanboy \
- rorschach \
- rotzoomer \
- rubik \
- rubikblocks \
- sballs \
- shadebobs \
- sierpinski \
- sierpinski3d \
- skytentacles \
- slidescreen \
- slip \
- spheremonics \
- splitflap \
- splodesic \
- spotlight \
- squiral \
- stairs \
- stonerview \
- strange \
- substrate \
- superquadrics \
- surfaces \
- swirl \
- tangram \
- tessellimage \
- thornbird \
- timetunnel \
- topblock \
- triangle \
- tronbit \
- truchet \
- twang \
- unknownpleasures \
- vermiculate \
- vfeedback \
- vigilance \
- voronoi \
- wander \
- whirlwindwarp \
- winduprobot \
- wormhole \
- xanalogtv \
- xflame \
- xjack \
- xlyap \
- xmatrix \
- xrayswarm \
- xspirograph \
- zoom \
-
-
-# These don't work well enough to turn on by default:
-#
-ANDROID_TODO= \
- antinspect \
- barcode \
- carousel \
- fliptext \
- fontglide \
- halftone \
- juggler3d \
- molecule \
- pedal \
- phosphor \
- photopile \
- polyominoes \
- qix \
- speedmine \
- starfish \
- starwars \
- testx11 \
- unicrud \
-
-
-# Download and resize images from jwz.org.
-# This saves us having to include 4MB of images in the tar file
-# that will only be used by a vast minority of people building
-# from source.
-# Android actually wants these to be 160x160 but our source is 200x150.
-
-URL = https://www.jwz.org/xscreensaver/screenshots/
-WGET = wget -q -U xscreensaver-build-android
-CVT = -thumbnail '150x150^' -gravity center -extent 150x150 \
- \( +clone -alpha extract \
- -draw 'fill black polygon 0,0 0,15 15,0 fill white circle 15,15 15,0' \
- \( +clone -flip \) -compose Multiply -composite \
- \( +clone -flop \) -compose Multiply -composite \
- \) -alpha off -compose CopyOpacity -composite \
- -colorspace sRGB \
- -strip \
- -quality 95 \
- +dither -colors 128
-
-# If we are making the m6502 hack, create the header file for Android
-m6502.h::
- @for h in $(ANDROID_HACKS) ; do \
- if [ $${h} = "m6502" ] ; then \
- echo "Making $${h} header ..."; \
- ../hacks/m6502.sh ../hacks/m6502.h ../hacks/images/m6502/*.asm ; \
- echo "Made $${h} header"; \
- fi; \
- done
-
-xscreensaver/res/drawable/%.png:
- @\
- FILE1=`echo "$@" | sed 's!^.*/\([^/]*\)\.png$$!\1.jpg!'` ; \
- FILE2="$@" ; \
- FILE1=`echo "$$FILE1" | sed s/rdbomb/rd-bomb/` ; \
- FILE2=`echo "$$FILE2" | sed s/rd-bomb/rdbomb/` ; \
- URL="$(URL)$$FILE1" ; \
- echo "converting $$URL..." ; \
- rm -f "$$FILE2" ; \
- $(WGET) -O- "$$URL" | \
- convert jpg:- $(CVT) "$$FILE2" ; \
- if [ ! -s "$$FILE2" ]; then \
- echo "$$FILE2 failed" >&2 ; \
- exit 1 ; \
- fi
-
-thumbs::
- @for f in $(ANDROID_HACKS) $(ANDROID_TODO) ; do \
- $(MAKE) xscreensaver/res/drawable/$$f.png ; \
- done
-
-clean_thumbs::
- @\
- for f in $(ANDROID_HACKS) $(ANDROID_TODO) ; do \
- rm -f xscreensaver/res/drawable/$$f.png ; \
- done
-
-distclean:: clean_thumbs clean
-
-
-EXTRA_TARFILES = xscreensaver/res/drawable/thumbnail.png \
-
-echo_tarfiles:
- @FILES=`find . $(EXTRA_TARFILES) \( \( \
- -name .DS_Store \
- -o -name '*~' \
- -o -name '*.jks' \
- -o -name '*.keystore' \
- -o -name '*_dream.xml' \
- -o -name '*_settings.xml' \
- -o -name '*_wallpaper.xml' \
- -o -name AndroidManifest.xml \
- -o -name strings.xml \
- -o -name settings.xml \
- -o -name attrs.xml \
- -o -name .gitignore \
- -o -name .gradle \
- -o -name drawable \
- -o -name build \
- -o -name gen \
- -o -name libs \
- -o -name obj \
- \) -prune \) \
- -o \( \( -type f -o -type l \) \
- -print \) \
- | sed 's@^\./@@' \
- | sort` ; \
- echo $$FILES
-
-images_png_h:
- cd ../hacks/images && $(MAKE)
-
-run_check::
- ../hacks/check-configs.pl --build-android $(ANDROID_HACKS)
-
-debug:: m6502.h run_check images_png_h
- $(GRADLE) assembleDebug
-release:: m6502.h run_check images_png_h
- export APP_ABI=all ; \
- $(GRADLE) assembleRelease
-
-
-KEYSTORE = xscreensaver.jks
-$(KEYSTORE):
- keytool -genkey -v -keystore $@ \
- -alias xscreensaver -keyalg RSA -keysize 2048 -validity 10000
-
-APK_DIR = xscreensaver/build/outputs/apk/release/
-APK_UNSIGNED = $(APK_DIR)xscreensaver-release-unsigned.apk
-APK_UNALIGNED = $(APK_DIR)xscreensaver-release-unaligned.apk
-APK_SIGNED = $(APK_DIR)xscreensaver-release.apk
-
- TOOLDIR = $(shell ls -d $$HOME/Library/Android/sdk/build-tools/* | tail -1)
- ZIPALIGN = $(TOOLDIR)/zipalign
-JARSIGNER = jarsigner
-
-sign_release::
- cp -p $(APK_UNSIGNED) $(APK_UNALIGNED)
- $(JARSIGNER) -verbose -sigalg SHA1withRSA -digestalg SHA1 \
- -keystore $(KEYSTORE) $(APK_UNALIGNED) xscreensaver
- rm -f $(APK_SIGNED)
- $(ZIPALIGN) -v 4 $(APK_UNALIGNED) $(APK_SIGNED)
- rm -f $(APK_UNALIGNED)
- $(JARSIGNER) -verify -verbose -certs $(APK_SIGNED)
- @ls -lF $(APK_SIGNED)
-
-apk:: release
- @\
- VERS=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' ../utils/version.h` ; \
- HEAD="xscreensaver-$$VERS" ; \
- if [ ! -s $(APK_SIGNED) -o $(APK_UNSIGNED) -nt $(APK_SIGNED) ]; then \
- $(MAKE) sign_release ; \
- fi ; \
- set -x ; \
- cp -p $(APK_SIGNED) ../archive/$$HEAD.apk
-
-
-## #### Pare it down for faster debugging...
-#export APP_ABI = armeabi-v7a
-#export APP_ABI = x86
-#
-#export ANDROID_HACKS= \
-# $(ANDROID_BASE_HACKS) \
-# bsod \
-# apollonian \
-# engine \
-# dnalogo \
-# twang \
-# memscroller \
-# phosphor \
-# discoball \
-# cubetwist \
-# cubestack \
-# splodesic \
diff --git a/android/README b/android/README
deleted file mode 100644
index 2843296..0000000
--- a/android/README
+++ /dev/null
@@ -1,189 +0,0 @@
-
-This directory contains the Android-specific code for building xscreensaver.
-
-It is preliminary, and very much a work in progress.
-
-If you're messing with this, please let us know!
-
- dennis@panaceasupplies.com
- jwz@jwz.org
-
-
-To set up your Android development environment:
-
- Install JDK 7 (http://www.oracle.com/technetwork/java/javase/downloads/)
- Install Android Studio (http://developer.android.com/sdk/)
- Install Android NDK (http://developer.android.com/ndk/downloads)
- Rename or link the "android-ndk-*" directory to "ndk" inside your
- $ANDROID_HOME (the "sdk/" directory that is the parent of
- "build-tools/", etc.) That is, it should be "sdk/ndk/".
-
- set $ANDROID_HOME to where your SDK is installed, or
- set "sdk.dir" in the file local.properties.
- On MacOS, the value you want is probably ~/Library/Android/sdk/
- Also set "ndk.dir" in local.properties.
-
-To build:
-
- ./configure
- cd android
- make
-
- Hopefully an "xscreensaver-debug.apk" file will appear in
- android/xscreensaver/build/outputs/apk/.
-
- Load that onto your device and go to:
- Settings / Display / Daydream
- or just click on the XScreenSaver icon, which is a shortcut to that.
-
- To create and configure an emulator image, use the GUI tool and and
- give the emulator a name (say, "Nexus_5").
-
- $ANDROID_HOME/sdk/tools/android avd
-
- E.g.: Nexus 5, Android 5, Intel Atom x86_64, RAM 2048 VM 64,
- storage 200, use host GPU.
-
- Configuration options are in $HOME/.android/avd/*.avd/config.ini
-
- To launch it:
-
- $ANDROID_HOME/sdk/tools/emulator -avd Nexus_5
-
- Warning! On my system at least, the emulator runs out of memory
- when trying to display the Daydream page if all of the savers are
- loaded. This is troubling. You can work around this by editing
- your *.avd/config.ini and setting vm.heapSize=128; or by editing
- android/Makefile and paring down the $ANDROID_HACKS list to a
- smaller subset (60 or so with the default heapSize).
-
-
- To load it into the currently-running emulator or device:
- $ANDROID_HOME/platform-tools/adb install -r \
- xscreensaver/build/outputs/apk/xscreensaver-debug.apk
-
- Extremely verbose log output, including stack traces:
- $ANDROID_HOME/platform-tools/adb logcat
-
- Non-fatal log output for only this app:
- $ANDROID_HOME/platform-tools/adb logcat \
- -s xscreensaver:d AndroidRuntime:d libEGL:d
-
- Note that sometimes "logcat" will just sit there forever saying
- "waiting for device". This is because the emulator is a piece of
- shit and sometimes decides to just randomly not service connections.
- If you restart the emulator, and wait minutes for the whole damned
- thing to boot up again, it will probably work next time. Probably.
-
-
-Directory structure:
-
- Boilerplate for the Java version of "make":
- *gradle*
- *.properties
- xscreensaver/*gradle*
- xscreensaver/build.*
- xscreensaver/*.properties
-
- The other half of the Makefile:
- xscreensaver/jni/*.mk
-
- Source code:
- xscreensaver/src/org/jwz/xscreensaver/*.java
- xscreensaver/res/layout/*.xml
-
- Other relevant source code is in ../jwxyz/ and ../hacks/.
-
- Icons:
- xscreensaver/res/drawable-ldpi/
- xscreensaver/res/drawable-mdpi/
- xscreensaver/res/drawable/
-
- Files that we generate:
-
- gen/function-table.h
- xscreensaver/AndroidManifest.xml
- xscreensaver/res/drawable/*.png
- xscreensaver/res/values/settings.xml
- xscreensaver/res/values/strings.xml
- xscreensaver/res/xml/*.xml
- xscreensaver/src/org/jwz/xscreensaver/gen/*.java
-
- Other files generated as a part of the build process:
-
- gen/
- .gradle/
- xscreensaver/build/
- xscreensaver/build/outputs/apk/ -- app appears here
- xscreensaver/jni/
- xscreensaver/libs/
- xscreensaver/obj/
- xscreensaver/res/
- xscreensaver/res/drawable/
- xscreensaver/res/values/
- xscreensaver/res/xml/
- xscreensaver/src/org/jwz/xscreensaver/gen/
-
-When adding a new hack, edit android/Makefile, then "make clean" and "make".
-
-
-TODO list, and known bugs:
-
- - See the top of ../jwxyz/jwxyz-gl.c for a low level TODO list,
- but here's what's wrong with the savers from a high level view:
-
- - Rotation is wonky (on some devices?)
-
- - The Android emulator is a piece of shit and crashes all the time,
- so it's possible that some of these work fine on real devices.
- I don't actually have an Android device, so I have no idea.
-
- - As mentioned above, the Android emulator runs out of memory if
- more than about 60 of the Daydreams are installed with the default
- heapSize. Again, I don't know if this is an issue on real devices.
- I sure hope not.
-
- - The code that attempts to grab a screen shot before the Daydream begins
- doesn't work.
-
- - When a saver exits abnormally, we catch the exception and attempt to
- display the error message in a dialog. The catch works, but the dialog
- box does not.
-
- antinspect renders incorrectly
- apple2 text, images into pixmaps doesn't work
- barcode pixmaps
- bsod pixmaps, XCopyArea problems
- carousel images are corrupted
- cityflow shading is wrong
- endgame insanely slow
- engine text
- esper images don't load, no text
- fliptext text
- fontglide text
- glblur grayscale instead of color
- halftone XFillArc crash
- jigglypuff incredibly slow
- juggler3d blank
- maze lines are not the same thickness (aliased?)
- molecule blank
- noseguy text; images
- pacman images; launches really slowly
- pedal polygons
- phosphor text; pixmaps
- photopile text; images don't display
- polyhedra text
- polyominoes pixmaps
- qix polygons
- queens insanely slow
- sonar does icmp work?
- speedmine polygons
- splitflap super slow
- spotlight blank
- starfish polygons
- starwars text
- unicrud pixmaps
- winduprobot dome is not transparent
- xanalogtv pixmaps
- xflame draws only upper left corner
- xmatrix pretty slow
diff --git a/android/android.iml b/android/android.iml
deleted file mode 100644
index 7db6b23..0000000
--- a/android/android.iml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/xscreensaver" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
- <component name="FacetManager">
- <facet type="java-gradle" name="Java-Gradle">
- <configuration>
- <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
- <option name="BUILDABLE" value="false" />
- </configuration>
- </facet>
- </component>
- <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
- <exclude-output />
- <content url="file://$MODULE_DIR$">
- <excludeFolder url="file://$MODULE_DIR$/.gradle" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- </component>
-</module> \ No newline at end of file
diff --git a/android/build.gradle b/android/build.gradle
deleted file mode 100644
index 978b94c..0000000
--- a/android/build.gradle
+++ /dev/null
@@ -1,30 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-buildscript {
- repositories {
- google()
- jcenter()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:3.1.2'
- }
-
-}
-
-allprojects {
- repositories {
- google()
- maven { url 'https://maven.google.com' }
- jcenter()
- }
-}
-
-
-task clean(type: Delete) {
- delete('./build')
-}
-
-task distClean(type: Delete) {
- delete('./.gradle')
-}
-
-distClean.dependsOn clean
diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 13372ae..0000000
--- a/android/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 0ac000f..0000000
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Sat Feb 10 21:20:31 PST 2018
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip
diff --git a/android/gradlew b/android/gradlew
deleted file mode 100755
index 9d82f78..0000000
--- a/android/gradlew
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/android/gradlew.bat b/android/gradlew.bat
deleted file mode 100644
index aec9973..0000000
--- a/android/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/android/local.properties b/android/local.properties
deleted file mode 100644
index 238a21c..0000000
--- a/android/local.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-
-# location of the SDK. This is only used by Ant
-# For customization when using a Version Control System, please read the
-# header note.
-sdk.dir=/Users/jwz/Library/Android/sdk
-ndk.dir=/Users/jwz/Library/Android/sdk/ndk
diff --git a/android/screenhack-android.c b/android/screenhack-android.c
deleted file mode 100644
index d5067ab..0000000
--- a/android/screenhack-android.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* xscreensaver, Copyright (c) 2016 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * Utility functions related to the hacks/ APIs.
- */
-
-#include <stdlib.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/time.h>
-#include <sys/utsname.h>
-#include <android/log.h>
-#include "screenhackI.h"
-#include "xlockmoreI.h"
-#include "textclient.h"
-
-#if defined(USE_IPHONE) || (HAVE_ANDROID)
-# include "jwzgles.h"
-#else
-# include <OpenGL/OpenGL.h>
-#endif
-
-#ifndef isupper
-# define isupper(c) ((c) >= 'A' && (c) <= 'Z')
-#endif
-#ifndef _tolower
-# define _tolower(c) ((c) - 'A' + 'a')
-#endif
-
-Bool
-get_boolean_resource (Display *dpy, char *res_name, char *res_class)
-{
- char *tmp, buf [100];
- char *s = get_string_resource (dpy, res_name, res_class);
- char *os = s;
- if (! s) return 0;
- for (tmp = buf; *s; s++)
- *tmp++ = isupper (*s) ? _tolower (*s) : *s;
- *tmp = 0;
- free (os);
-
- while (*buf &&
- (buf[strlen(buf)-1] == ' ' ||
- buf[strlen(buf)-1] == '\t'))
- buf[strlen(buf)-1] = 0;
-
- if (!strcmp (buf, "on") || !strcmp (buf, "true") || !strcmp (buf, "yes"))
- return 1;
- if (!strcmp (buf,"off") || !strcmp (buf, "false") || !strcmp (buf,"no"))
- return 0;
- fprintf (stderr, "%s: %s must be boolean, not %s.\n",
- progname, res_name, buf);
- return 0;
-}
-
-int
-get_integer_resource (Display *dpy, char *res_name, char *res_class)
-{
- int val;
- char c, *s = get_string_resource (dpy, res_name, res_class);
- char *ss = s;
- if (!s) return 0;
-
- while (*ss && *ss <= ' ') ss++; /* skip whitespace */
-
- if (ss[0] == '0' && (ss[1] == 'x' || ss[1] == 'X')) /* 0x: parse as hex */
- {
- if (1 == sscanf (ss+2, "%x %c", (unsigned int *) &val, &c))
- {
- free (s);
- return val;
- }
- }
- else /* else parse as dec */
- {
- /* Allow integer values to end in ".0". */
- int L = strlen(ss);
- if (L > 2 && ss[L-2] == '.' && ss[L-1] == '0')
- ss[L-2] = 0;
-
- if (1 == sscanf (ss, "%d %c", &val, &c))
- {
- free (s);
- return val;
- }
- }
-
- fprintf (stderr, "%s: %s must be an integer, not %s.\n",
- progname, res_name, s);
- free (s);
- return 0;
-}
-
-double
-get_float_resource (Display *dpy, char *res_name, char *res_class)
-{
- double val;
- char c, *s = get_string_resource (dpy, res_name, res_class);
- if (! s) return 0.0;
- if (1 == sscanf (s, " %lf %c", &val, &c))
- {
- free (s);
- return val;
- }
- fprintf (stderr, "%s: %s must be a float, not %s.\n",
- progname, res_name, s);
- free (s);
- return 0.0;
-}
-
-
-char *
-textclient_mobile_date_string (void)
-{
- struct utsname uts;
- if (uname (&uts) < 0)
- return strdup("uname() failed");
- else
- {
- time_t now = time ((time_t *) 0);
- char *ts = ctime (&now);
- char *buf, *s;
- if ((s = strchr(uts.nodename, '.')))
- *s = 0;
- buf = (char *) malloc(strlen(uts.machine) +
- strlen(uts.sysname) +
- strlen(uts.release) +
- strlen(ts) + 10);
- sprintf (buf, "%s %s %s\n%s", uts.machine, uts.sysname, uts.release, ts);
- return buf;
- }
-}
-
-
-/* used by the OpenGL screen savers
- */
-
-/* Does nothing - prepareContext already did the work.
- */
-void
-glXMakeCurrent (Display *dpy, Window window, GLXContext context)
-{
-}
-
-
-/* clear away any lingering error codes */
-void
-clear_gl_error (void)
-{
- while (glGetError() != GL_NO_ERROR)
- ;
-}
-
-
-// needs to be implemented in Android...
-/* Copy the back buffer to the front buffer.
- */
-void
-glXSwapBuffers (Display *dpy, Window window)
-{
-}
-
-
-/* Called by OpenGL savers using the XLockmore API.
- */
-GLXContext *
-init_GL (ModeInfo *mi)
-{
- // Window win = mi->window;
-
- // Caller expects a pointer to an opaque struct... which it dereferences.
- // Don't ask me, it's historical...
- static int blort = -1;
- return (void *) &blort;
-}
-
-/* report a GL error. */
-void
-check_gl_error (const char *type)
-{
- char buf[100];
- GLenum i;
- const char *e;
- switch ((i = glGetError())) {
- case GL_NO_ERROR: return;
- case GL_INVALID_ENUM: e = "invalid enum"; break;
- case GL_INVALID_VALUE: e = "invalid value"; break;
- case GL_INVALID_OPERATION: e = "invalid operation"; break;
- case GL_STACK_OVERFLOW: e = "stack overflow"; break;
- case GL_STACK_UNDERFLOW: e = "stack underflow"; break;
- case GL_OUT_OF_MEMORY: e = "out of memory"; break;
-#ifdef GL_TABLE_TOO_LARGE_EXT
- case GL_TABLE_TOO_LARGE_EXT: e = "table too large"; break;
-#endif
-#ifdef GL_TEXTURE_TOO_LARGE_EXT
- case GL_TEXTURE_TOO_LARGE_EXT: e = "texture too large"; break;
-#endif
- default:
- e = buf; sprintf (buf, "unknown GL error %d", (int) i); break;
- }
- __android_log_write(ANDROID_LOG_ERROR, "xscreensaver", e);
-}
diff --git a/android/settings.gradle b/android/settings.gradle
deleted file mode 100644
index 5fc665b..0000000
--- a/android/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-include ':xscreensaver'
diff --git a/android/xscreensaver/.idea/caches/build_file_checksums.ser b/android/xscreensaver/.idea/caches/build_file_checksums.ser
deleted file mode 100644
index c2ab27f..0000000
--- a/android/xscreensaver/.idea/caches/build_file_checksums.ser
+++ /dev/null
Binary files differ
diff --git a/android/xscreensaver/.idea/codeStyles/Project.xml b/android/xscreensaver/.idea/codeStyles/Project.xml
deleted file mode 100644
index 30aa626..0000000
--- a/android/xscreensaver/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<component name="ProjectCodeStyleConfiguration">
- <code_scheme name="Project" version="173">
- <Objective-C-extensions>
- <file>
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
- </file>
- <class>
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
- <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
- </class>
- <extensions>
- <pair source="cpp" header="h" fileNamingConvention="NONE" />
- <pair source="c" header="h" fileNamingConvention="NONE" />
- </extensions>
- </Objective-C-extensions>
- </code_scheme>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/compiler.xml b/android/xscreensaver/.idea/compiler.xml
deleted file mode 100644
index 9a8b7e5..0000000
--- a/android/xscreensaver/.idea/compiler.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="CompilerConfiguration">
- <option name="DEFAULT_COMPILER" value="Javac" />
- <resourceExtensions />
- <wildcardResourcePatterns>
- <entry name="!?*.java" />
- <entry name="!?*.form" />
- <entry name="!?*.class" />
- <entry name="!?*.groovy" />
- <entry name="!?*.scala" />
- <entry name="!?*.flex" />
- <entry name="!?*.kt" />
- <entry name="!?*.clj" />
- </wildcardResourcePatterns>
- <annotationProcessing>
- <profile default="true" name="Default" enabled="false">
- <processorPath useClasspath="true" />
- </profile>
- </annotationProcessing>
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/gradle.xml b/android/xscreensaver/.idea/gradle.xml
deleted file mode 100644
index 3ac097a..0000000
--- a/android/xscreensaver/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="GradleSettings">
- <option name="linkedExternalProjectsSettings">
- <GradleProjectSettings>
- <option name="distributionType" value="LOCAL" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="gradleHome" value="$APPLICATION_HOME_DIR$/gradle/gradle-4.1" />
- <option name="modules">
- <set>
- <option value="$PROJECT_DIR$/.." />
- <option value="$PROJECT_DIR$" />
- </set>
- </option>
- <option name="resolveModulePerSourceSet" value="false" />
- </GradleProjectSettings>
- </option>
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml
deleted file mode 100644
index 9869803..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_common_1_1_0_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.core:common:1.1.0@jar">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/8007981f7d7540d89cd18471b8e5dcd2b4f99167/common-1.1.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/common/1.1.0/f211e8f994b67f7ae2a1bc06e4f7b974ec72ee50/common-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml
deleted file mode 100644
index 03529f7..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_core_runtime_1_1_0.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.core:runtime-1.1.0">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/66eddde487cc032a22af511624a2dc1d/jars/classes.jar!/" />
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/66eddde487cc032a22af511624a2dc1d/res" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.core/runtime/1.1.0/62944187d3ae3e7a4644b50da4e7b63c605a696/runtime-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml
deleted file mode 100644
index 29c0049..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_0_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.lifecycle:common:1.1.0@jar">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/edf3f7bfb84a7521d0599efa3b0113a0ee90f85/common-1.1.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/common/1.1.0/72f6113534923e49e8c032107ca638b97775c61b/common-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml
deleted file mode 100644
index c43180e..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_0.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.lifecycle:livedata-core-1.1.0">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/01d9f7cf052a887e242d3ac9bccb130e/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/livedata-core-1.1.0.aar/01d9f7cf052a887e242d3ac9bccb130e/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/livedata-core/1.1.0/300f89e645a95de0bdc6d8833beeee6e3045df06/livedata-core-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml
deleted file mode 100644
index 6031fb9..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_0.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.lifecycle:runtime-1.1.0">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/625fea47a711c4db819aa2d6df929100/jars/classes.jar!/" />
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/runtime-1.1.0.aar/625fea47a711c4db819aa2d6df929100/res" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/runtime/1.1.0/a4b0d6b8e8f51c8f95d5a0641f81ffc13ab406c7/runtime-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml b/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml
deleted file mode 100644
index 11a24fb..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_0.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: android.arch.lifecycle:viewmodel-1.1.0">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/0c933938d5403a08c5e3efe386ac2b02/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/viewmodel-1.1.0.aar/0c933938d5403a08c5e3efe386ac2b02/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/android.arch.lifecycle/viewmodel/1.1.0/e4c0c5d65f92ccad0b0148ac2f01b540ac7a711e/viewmodel-1.1.0-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml
deleted file mode 100644
index 1517ad9..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_annotations_27_1_1_jar.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-annotations:27.1.1@jar">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/39ded76b5e1ce1c5b2688e1d25cdc20ecee32007/support-annotations-27.1.1.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-annotations/27.1.1/46bebf5bd40146178cb33c7678f3782a09dea6e4/support-annotations-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml
deleted file mode 100644
index fba52e8..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_compat_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-compat-27.1.1">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/64b85698f5c1a639182eb49d0126a2d0/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-compat-27.1.1.aar/64b85698f5c1a639182eb49d0126a2d0/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-compat/27.1.1/fe233277b6eae25ce5b2afab6daf55d73c86f0b9/support-compat-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml
deleted file mode 100644
index 3ccece0..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_ui_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-core-ui-27.1.1">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/b432dca2f3c4bd72e4ef10511d8d2ba5/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-ui-27.1.1.aar/b432dca2f3c4bd72e4ef10511d8d2ba5/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-ui/27.1.1/266c369a3227be5afec33e11c964472269ff2a7c/support-core-ui-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml
deleted file mode 100644
index 69d23f2..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_core_utils_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-core-utils-27.1.1">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/0980a98a9ec854145d292239910611d4/jars/classes.jar!/" />
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-core-utils-27.1.1.aar/0980a98a9ec854145d292239910611d4/res" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-core-utils/27.1.1/8fb37fd2f8dbc23482865700d2c340ae030ea561/support-core-utils-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml
deleted file mode 100644
index 8eb356f..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_fragment_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-fragment-27.1.1">
- <CLASSES>
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/c39b8c3b0b8a6fd39d4cf14a5ed4d9a8/jars/classes.jar!/" />
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-fragment-27.1.1.aar/c39b8c3b0b8a6fd39d4cf14a5ed4d9a8/res" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-fragment/27.1.1/94732bda44fba11302c58e459b7c1f47e7521bf9/support-fragment-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml
deleted file mode 100644
index c577eba..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_media_compat_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-media-compat-27.1.1">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/68a94910a2befb2c6cb37bd04aa2aa39/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-media-compat-27.1.1.aar/68a94910a2befb2c6cb37bd04aa2aa39/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-media-compat/27.1.1/3ab3f968d7cd675d2f97e67a3e9fc0ac63618f46/support-media-compat-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml b/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml
deleted file mode 100644
index 10d3108..0000000
--- a/android/xscreensaver/.idea/libraries/Gradle__com_android_support_support_v4_27_1_1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="libraryTable">
- <library name="Gradle: com.android.support:support-v4-27.1.1">
- <CLASSES>
- <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/4063a17c1f54cf7b4dd719a35d318e61/res" />
- <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/support-v4-27.1.1.aar/4063a17c1f54cf7b4dd719a35d318e61/jars/classes.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES>
- <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/support-v4/27.1.1/5b8f86fea035328fc9e8c660773037a3401ce25f/support-v4-27.1.1-sources.jar!/" />
- </SOURCES>
- </library>
-</component> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/misc.xml b/android/xscreensaver/.idea/misc.xml
deleted file mode 100644
index 99202cc..0000000
--- a/android/xscreensaver/.idea/misc.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="NullableNotNullManager">
- <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
- <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
- <option name="myNullables">
- <value>
- <list size="5">
- <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
- <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
- <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
- <item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
- <item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
- </list>
- </value>
- </option>
- <option name="myNotNulls">
- <value>
- <list size="4">
- <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
- <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
- <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
- <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
- </list>
- </value>
- </option>
- </component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
- <output url="file://$PROJECT_DIR$/build/classes" />
- </component>
- <component name="ProjectType">
- <option name="id" value="Android" />
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/modules.xml b/android/xscreensaver/.idea/modules.xml
deleted file mode 100644
index 33191fe..0000000
--- a/android/xscreensaver/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="ProjectModuleManager">
- <modules>
- <module fileurl="file://$PROJECT_DIR$/../android.iml" filepath="$PROJECT_DIR$/../android.iml" />
- <module fileurl="file://$PROJECT_DIR$/xscreensaver.iml" filepath="$PROJECT_DIR$/xscreensaver.iml" />
- </modules>
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/runConfigurations.xml b/android/xscreensaver/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/android/xscreensaver/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="RunConfigurationProducerService">
- <option name="ignoredProducers">
- <set>
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
- </set>
- </option>
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/.idea/workspace.xml b/android/xscreensaver/.idea/workspace.xml
deleted file mode 100644
index 9f2ef73..0000000
--- a/android/xscreensaver/.idea/workspace.xml
+++ /dev/null
@@ -1,2205 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="CMakeSettings">
- <configurations>
- <configuration PROFILE_NAME="Debug" CONFIG_NAME="Debug" />
- </configurations>
- </component>
- <component name="ChangeListManager">
- <list default="true" id="41008724-035d-4e24-92b6-6dfb9231c83c" name="Default" comment="" />
- <ignored path="xscreensaver.iws" />
- <ignored path=".idea/workspace.xml" />
- <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
- <option name="TRACKING_ENABLED" value="true" />
- <option name="SHOW_DIALOG" value="false" />
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
- <option name="LAST_RESOLUTION" value="IGNORE" />
- </component>
- <component name="CreatePatchCommitExecutor">
- <option name="PATCH_PATH" value="" />
- </component>
- <component name="ExternalProjectsData">
- <projectState path="$PROJECT_DIR$">
- <ProjectState />
- </projectState>
- </component>
- <component name="ExternalProjectsManager">
- <system id="GRADLE">
- <state>
- <projects_view />
- </state>
- </system>
- </component>
- <component name="FavoritesManager">
- <favorites_list name="xscreensaver" />
- </component>
- <component name="FileEditorManager">
- <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
- <file leaf-file-name="gradle-wrapper.properties" pinned="false" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="90">
- <caret line="6" selection-start-line="6" selection-end-line="6" />
- </state>
- </provider>
- </entry>
- </file>
- </leaf>
- </component>
- <component name="GradleLocalSettings">
- <option name="myGradleHomes">
- <map>
- <entry key="$PROJECT_DIR$" value="$USER_HOME$/.gradle/wrapper/dists/gradle-4.8-bin/divx0s2uj4thofgytb7gf9fsi/gradle-4.8" />
- </map>
- </option>
- <option name="myGradleVersions">
- <map>
- <entry key="$PROJECT_DIR$" value="4.8" />
- </map>
- </option>
- <option name="availableProjects">
- <map>
- <entry>
- <key>
- <ExternalProjectPojo>
- <option name="name" value="xscreensaver" />
- <option name="path" value="$PROJECT_DIR$" />
- </ExternalProjectPojo>
- </key>
- <value>
- <list>
- <ExternalProjectPojo>
- <option name="name" value="android" />
- <option name="path" value="$PROJECT_DIR$/.." />
- </ExternalProjectPojo>
- <ExternalProjectPojo>
- <option name="name" value=":xscreensaver" />
- <option name="path" value="$PROJECT_DIR$" />
- </ExternalProjectPojo>
- </list>
- </value>
- </entry>
- </map>
- </option>
- <option name="availableTasks">
- <map>
- <entry key="$PROJECT_DIR$/..">
- <value>
- <list>
- <ExternalTaskPojo>
- <option name="description" value="Displays all buildscript dependencies declared in root project 'android'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="buildEnvironment" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="clean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the components produced by root project 'android'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="components" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays all dependencies declared in root project 'android'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="dependencies" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the insight into a specific dependency in root project 'android'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="dependencyInsight" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the dependent components of components in root project 'android'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="dependentComponents" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="distClean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays a help message." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="help" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Initializes a new Gradle build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="init" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the configuration model of root project 'android'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="model" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the sub-projects of root project 'android'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="projects" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the properties of root project 'android'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="properties" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the tasks runnable from root project 'android' (some of the displayed tasks may belong to subprojects)." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="tasks" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Generates Gradle wrapper files." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="wrapper" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the Android dependencies of the project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="androidDependencies" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all variants of all applications and secondary packages." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assemble" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all the Test applications." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all Debug builds." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all Release builds." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="assembleReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="build" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project and all projects that depend on it." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="buildDependents" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project and all projects it depends on." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="buildNeeded" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleAppClassesDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleAppClassesDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleAppClassesDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleAppClassesRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleAppClassesReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="bundleReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all checks." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="check" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="checkDebugManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="checkReleaseManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Deletes the build cache directory." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="cleanBuildCache" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugAndroidTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugUnitTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileDebugUnitTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileLint" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseUnitTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="compileReleaseUnitTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="connectedAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all device checks on currently connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="connectedCheck" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs the tests for debug on connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="connectedDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="consumeConfigAttr" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="createDebugCompatibleScreenManifests" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="createReleaseCompatibleScreenManifests" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs instrumentation tests using all Device Providers." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="deviceAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all device checks using Device Providers and Test Servers." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="deviceCheck" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="downloadNeededDrawables" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="extractProguardFiles" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAndroidTestAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAndroidTestBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAndroidTestResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAndroidTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateDebugSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateReleaseAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateReleaseBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateReleaseResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="generateReleaseSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="installDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs the android (on device) tests for the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="installDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="javaPreCompileDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="javaPreCompileDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="javaPreCompileDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="javaPreCompileRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="javaPreCompileReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on all variants." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="lint" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="lintDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on the Release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="lintRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on just the fatal issues in the release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="lintVitalRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mainApkListPersistenceDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mainApkListPersistenceDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mainApkListPersistenceRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugAndroidTestAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugAndroidTestJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugAndroidTestShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeDebugShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeReleaseAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeReleaseJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mergeReleaseShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Creates a version of android.jar that's suitable for unit tests." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="mockableAndroidJar" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="ndkBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="objlibClean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="packageDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="packageDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="packageRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="perlBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="perlClean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="platformAttrExtractor" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preDebugAndroidTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preDebugBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preDebugUnitTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preReleaseBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preReleaseUnitTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="prepareLintJar" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_DEXDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_DEXReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_JAVA_RESDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_JAVA_RESReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugAndroidTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugAndroidTestManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processDebugUnitTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processReleaseJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processReleaseManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="processReleaseUnitTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="reportBuildArtifactsDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="reportBuildArtifactsRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="resolveConfigAttr" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the signing info for each variant." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="signingReport" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Prints out all the source sets defined in this project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="sourceSets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="splitsDiscoveryTaskDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="splitsDiscoveryTaskRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for all variants." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="test" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for the debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="testDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for the release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="testReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformClassesWithDexBuilderForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformClassesWithDexBuilderForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformClassesWithDexBuilderForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithDexMergerForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithDexMergerForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithDexMergerForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformNativeLibsWithStripDebugSymbolForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformNativeLibsWithStripDebugSymbolForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformResourcesWithMergeJavaResForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformResourcesWithMergeJavaResForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstall all applications." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="uninstallAll" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="uninstallDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the android (on device) tests for the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="uninstallDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the Release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="uninstallRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="validateSigningDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="validateSigningDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="writeDebugApplicationId" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$/.." />
- <option name="name" value="writeReleaseApplicationId" />
- </ExternalTaskPojo>
- </list>
- </value>
- </entry>
- <entry key="$PROJECT_DIR$">
- <value>
- <list>
- <ExternalTaskPojo>
- <option name="description" value="Displays the sub-projects of project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="projects" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleAppClassesRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="validateSigningDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformClassesWithDexBuilderForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processReleaseJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateReleaseAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="lintDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_JAVA_RESReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="reportBuildArtifactsRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="createReleaseCompatibleScreenManifests" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Creates a version of android.jar that's suitable for unit tests." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mockableAndroidJar" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the configuration model of project ':xscreensaver'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="model" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_DEXReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleAppClassesDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the tasks runnable from project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="tasks" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all device checks using Device Providers and Test Servers." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="deviceCheck" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays all dependencies declared in project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="dependencies" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformNativeLibsWithStripDebugSymbolForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on all variants." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="lint" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="packageDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformClassesWithDexBuilderForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleAppClassesReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mainApkListPersistenceDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project and all projects it depends on." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="buildNeeded" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAndroidTestBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugUnitTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for the release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="testReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Deletes the build cache directory." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="cleanBuildCache" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_JAVA_RESDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the components produced by project ':xscreensaver'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="components" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all Debug builds." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugAndroidTestManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugUnitTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformResourcesWithMergeJavaResForReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preDebugAndroidTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugAndroidTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processReleaseUnitTestJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="reportBuildArtifactsDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="javaPreCompileDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="splitsDiscoveryTaskDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleAppClassesDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the Release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="uninstallRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAndroidTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="checkReleaseManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="javaPreCompileDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="createDebugCompatibleScreenManifests" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSReleaseForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeReleaseJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="prepareLintJar" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs instrumentation tests using all Device Providers." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="deviceAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugAndroidTestAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processReleaseManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the android (on device) tests for the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="uninstallDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the insight into a specific dependency in project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="dependencyInsight" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateReleaseSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithDexMergerForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preReleaseBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="writeDebugApplicationId" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all variants of all applications and secondary packages." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assemble" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays a help message." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="help" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseUnitTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs the android (on device) tests for the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="installDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mainApkListPersistenceDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformClassesWithDexBuilderForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="javaPreCompileReleaseUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_DEXDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="javaPreCompileRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="splitsDiscoveryTaskRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all device checks on currently connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="connectedCheck" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs the tests for debug on connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="connectedDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithDexMergerForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstall all applications." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="uninstallAll" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all the Test applications." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_DEXDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="packageRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="validateSigningDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preDebugUnitTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileLint" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAndroidTestResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mainApkListPersistenceRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeReleaseShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the Android dependencies of the project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="androidDependencies" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugUnitTestSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformNativeLibsWithMergeJniLibsForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugAndroidTestJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="extractProguardFiles" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_JAVA_RESDebugForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="objlibClean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugJavaRes" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="consumeConfigAttr" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAndroidTestAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformResourcesWithMergeJavaResForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="downloadNeededDrawables" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for all variants." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="test" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformNativeLibsWithStripDebugSymbolForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugNdk" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preReleaseUnitTestBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs all checks." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="check" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="javaPreCompileDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Run unit tests for the debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="testDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs and runs instrumentation tests for all flavors on connected devices." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="connectedAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Installs the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="installDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformResourcesWithMergeJavaResForRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseSources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseUnitTestJavaWithJavac" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformResourcesWithMergeJavaResForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileReleaseAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on the Release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="lintRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project and all projects that depend on it." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="buildDependents" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithDexMergerForDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the dependent components of components in project ':xscreensaver'. [incubating]" />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="dependentComponents" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays all buildscript dependencies declared in project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="buildEnvironment" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="checkDebugManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugJniLibFolders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Prints out all the source sets defined in this project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="sourceSets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformResourcesWithMergeJavaResForDebugUnitTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="perlBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleDebugResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeReleaseAssets" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateReleaseBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preparePUBLISHED_NATIVE_LIBSDebugAndroidTestForPublishing" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="perlClean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateReleaseResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Runs lint on just the fatal issues in the release build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="lintVitalRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="ndkBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="platformAttrExtractor" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Uninstalls the Debug build." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="uninstallDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the signing info for each variant." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="signingReport" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestAidl" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="mergeDebugAndroidTestShaders" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="bundleAppClassesDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Deletes the build directory." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="clean" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="preDebugBuild" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugBuildConfig" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="transformDexArchiveWithExternalLibsDexMergerForDebug" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles and tests this project." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="build" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Assembles all Release builds." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="assembleRelease" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="resolveConfigAttr" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="compileDebugAndroidTestRenderscript" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateDebugAndroidTestResources" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="processDebugManifest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="writeReleaseApplicationId" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="packageDebugAndroidTest" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="generateReleaseResValues" />
- </ExternalTaskPojo>
- <ExternalTaskPojo>
- <option name="description" value="Displays the properties of project ':xscreensaver'." />
- <option name="linkedExternalProjectPath" value="$PROJECT_DIR$" />
- <option name="name" value="properties" />
- </ExternalTaskPojo>
- </list>
- </value>
- </entry>
- </map>
- </option>
- <option name="projectBuildClasspath">
- <map>
- <entry key="$PROJECT_DIR$">
- <value>
- <ExternalProjectBuildClasspathPojo>
- <option name="modulesBuildClasspath">
- <map>
- <entry key="$PROJECT_DIR$/..">
- <value>
- <ExternalModuleBuildClasspathPojo>
- <option name="entries">
- <list>
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/1608fa49add4d13366db7844998c6e59711f7e2a/gradle-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/ccab33656c1baa6514d88f4d9356db19d0e9823b/gradle-core-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/bundletool/0.1.0-alpha01/f7c303e37818223bd98566fcbea29aa0964c4d06/bundletool-0.1.0-alpha01.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/133b1f665104f0ebf01f71b61e4794385d7b5f1b/builder-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/8c54aedfe9da66e64402de04883cee083c127a3b/lint-gradle-api-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/427e25639a55911cadcf70657c9b2ded2ad6af2b/gradle-api-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/be65c11ded4242932046f23ecfa5c7ccb0e98f46/compilerCommon-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/505f55b9619bbc5f5e26c77427dd24a6a441eef1/kotlin-stdlib-jre8-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/47f6c56527c42425742fa9b56ffd3fd80763fe03/transform-api-2.0.0-deprecated-use-gradle-api.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45/asm-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/6d1bf8989fc7901f868bee3863c44f21aa63d110/asm-analysis-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/25d8a575034dd9cfcb375a39b5334f0ba9c8474e/asm-commons-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/b60e33a6bd0d71831e0c249816d01e6c1dd90a47/asm-util-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/ee9e9eaa0a35360dcfeac129ff4923215fd65904/jopt-simple-4.9.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/ad23a0505f58d0dfc95bb1472decc397460406c9/proguard-gradle-5.3.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/1b94ab7ec707e2220a0d1a7517488d1843236345/auto-value-1.5.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/b32aba0cbe737a4ca953f71688725972e3ee927c/protobuf-java-3.4.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/96aba8ab71c16018c6adf66771ce15c6491bc0fe/protobuf-java-util-3.4.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/6dcc08f90f678ac33e5ef78c3c752b6f59e63e0c/error_prone_annotations-2.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/aapt2-proto/0.1.0/d1eb93a21a8d3590c3bfac574a8b6dffb2dbd21c/aapt2-proto-0.1.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/4504b655fa8fe72302020ca9a2387f3f23fbfb57/builder-model-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/ffb00b786822df6538377a90df9f2d11c022efc3/builder-test-api-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/94697a9dff499b64b6e101bedb89a89825150af/sdklib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/2cf773af3fb0e1bbd56a80fc6903a9d2a40a248/sdk-common-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/c31bbd68c51ed0ef3b8d7cdd5615acf762473887/common-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/79f398427650c76f0c66c89f10e4886a1fe68c26/manifest-merger-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/1d423e621fb5c89fed13e41d0ed026cf5d8d7e7b/ddmlib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/ba53bcde9703b2bf9871128952dce844c5d743fa/protos-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/bc21fe64fdaa64e59672e7d546d373f430e7557c/shared-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/2d2260da92e50ac072f89d60a596d03aab3a8757/tracker-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/5af360dd30015a9a47c8ab0af0e6b05f64760edc/apksig-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/81241ff7078ef14f42ea2a8995fa09c096256e6b/javawriter-2.5.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/4648af70268b6fdb24674fb1fd7c1fcc73db1231/bcpkix-jdk15on-1.56.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/a153c6f9744a3e9dd6feab5e210e1c9861362ec7/bcprov-jdk15on-1.56.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/87b38c12a0ea645791ead9d3e74ae5268d1d6c34/asm-tree-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/5ad3a2bb04143f70aa0765fc29fc29571a7d6b34/fastutil-7.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/5e303a03d04e6788dddfa3655272580ae0fc13bb/json-simple-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/4bbda3b5425aa38a9f6960468a29c5ef3e8a28c9/kotlin-reflect-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/1b6a1add6a577708b62737dc31c479549f77750d/baseLibrary-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/f35db7e4b2446e4174ba6a73db7bd6b3e6bb5da1/antlr4-4.5.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/cd49678784c46aa8789c060538e0154013bb421b/juniversalchardet-1.0.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/e858dc62ef484048540d27d36f3ec2177a3fa9b1/javapoet-1.8.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/751f548c85fa49f330cecbb1875893f971b33c4e/gson-2.7.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/4f4e0ee71b9ccaa4a70cc86e40fb84ada2ed99a3/annotations-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/988b6b0636ce343d4962b3b37f6319dcc6e99a61/proguard-base-5.3.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/3697abf628d30042c1082ea846454dfd1e8da3e/layoutlib-api-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/eb39925fee6e726468fc10344ec988c086301ed7/dvlib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/c8209ccb8ee0e5e3f293fd71d2a827f440ab811c/repository-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/84caa68576e345eb5e7ae61a0e5a9229eb100d7b/commons-compress-1.12.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/e4ca30a6a3a075053a61c6fc850d2432dc012ba7/httpclient-4.2.6.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/9ba2dcdf94ce35c8a8e9bff242db0618ca932e92/httpmime-4.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/bf744c1e2776ed1de3c55c8dac1057ec331ef744/javax.activation-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/65510afc78679e347b0d774617a97fedac94f8/jaxb-runtime-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/8fbd0579dc68aba6186935cc1bee21d2f3e7ec1c/jimfs-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/472f0f5f8dba5d1962cb9d7739feed739a31c30d/httpcore-4.2.5.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/5043bfebc3db072ed80fbd362e7caf00e885d8ae/commons-logging-1.1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/25eb440d6eeb9fc60299121020fe726eb2100d03/kotlin-stdlib-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/f5745049f5fb9cb9d9b5f513c207727f475983e9/jaxb-core-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/18bed5a0da27a6b43efe01282f2dc911b1cb3a72/stax-ex-1.7.7.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/98f56b9354e27bd2941cc5d461344e240ae51ae/FastInfoset-1.2.13.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/ec8b969e26fbcf2265a4d1a1539c4d1d4c5af380/kotlin-stdlib-jre7-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/976d8d30bebc251db406f2bdb3eb01962b5685b3/j2objc-annotations-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/775b7e22fb10026eed3f86e8dc556dfafe35f2d5/animal-sniffer-annotations-1.14.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/7ed0e0d01198614194d56dfb03d9d95aa311824c/jaxb-api-2.2.12-b140109.1041.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/2df047d8c187a62f2177bf6013f1f9786cdfc8a2/txw2-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/c969d8f15c467f0ef7d7b04889afbe7b5d48e22f/istack-commons-runtime-2.21.jar" />
- </list>
- </option>
- <option name="path" value="$PROJECT_DIR$/.." />
- </ExternalModuleBuildClasspathPojo>
- </value>
- </entry>
- <entry key="$PROJECT_DIR$">
- <value>
- <ExternalModuleBuildClasspathPojo>
- <option name="entries">
- <list>
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/3.1.2/1608fa49add4d13366db7844998c6e59711f7e2a/gradle-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-core/3.1.2/ccab33656c1baa6514d88f4d9356db19d0e9823b/gradle-core-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/bundletool/0.1.0-alpha01/f7c303e37818223bd98566fcbea29aa0964c4d06/bundletool-0.1.0-alpha01.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder/3.1.2/133b1f665104f0ebf01f71b61e4794385d7b5f1b/builder-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-gradle-api/26.1.2/8c54aedfe9da66e64402de04883cee083c127a3b/lint-gradle-api-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle-api/3.1.2/427e25639a55911cadcf70657c9b2ded2ad6af2b/gradle-api-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/compilerCommon/3.1.2/be65c11ded4242932046f23ecfa5c7ccb0e98f46/compilerCommon-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.2.0/505f55b9619bbc5f5e26c77427dd24a6a441eef1/kotlin-stdlib-jre8-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/transform-api/2.0.0-deprecated-use-gradle-api/47f6c56527c42425742fa9b56ffd3fd80763fe03/transform-api-2.0.0-deprecated-use-gradle-api.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/5.1/5ef31c4fe953b1fd00b8a88fa1d6820e8785bb45/asm-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.1/6d1bf8989fc7901f868bee3863c44f21aa63d110/asm-analysis-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.1/25d8a575034dd9cfcb375a39b5334f0ba9c8474e/asm-commons-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.1/b60e33a6bd0d71831e0c249816d01e6c1dd90a47/asm-util-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.jopt-simple/jopt-simple/4.9/ee9e9eaa0a35360dcfeac129ff4923215fd65904/jopt-simple-4.9.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-gradle/5.3.3/ad23a0505f58d0dfc95bb1472decc397460406c9/proguard-gradle-5.3.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.auto.value/auto-value/1.5.2/1b94ab7ec707e2220a0d1a7517488d1843236345/auto-value-1.5.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/22.0/3564ef3803de51fb0530a8377ec6100b33b0d073/guava-22.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/3.4.0/b32aba0cbe737a4ca953f71688725972e3ee927c/protobuf-java-3.4.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java-util/3.4.0/96aba8ab71c16018c6adf66771ce15c6491bc0fe/protobuf-java-util-3.4.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.2/6dcc08f90f678ac33e5ef78c3c752b6f59e63e0c/error_prone_annotations-2.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/aapt2-proto/0.1.0/d1eb93a21a8d3590c3bfac574a8b6dffb2dbd21c/aapt2-proto-0.1.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-model/3.1.2/4504b655fa8fe72302020ca9a2387f3f23fbfb57/builder-model-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/builder-test-api/3.1.2/ffb00b786822df6538377a90df9f2d11c022efc3/builder-test-api-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdklib/26.1.2/94697a9dff499b64b6e101bedb89a89825150af/sdklib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/sdk-common/26.1.2/2cf773af3fb0e1bbd56a80fc6903a9d2a40a248/sdk-common-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/common/26.1.2/c31bbd68c51ed0ef3b8d7cdd5615acf762473887/common-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/manifest-merger/26.1.2/79f398427650c76f0c66c89f10e4886a1fe68c26/manifest-merger-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.ddms/ddmlib/26.1.2/1d423e621fb5c89fed13e41d0ed026cf5d8d7e7b/ddmlib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/protos/26.1.2/ba53bcde9703b2bf9871128952dce844c5d743fa/protos-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/shared/26.1.2/bc21fe64fdaa64e59672e7d546d373f430e7557c/shared-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.analytics-library/tracker/26.1.2/2d2260da92e50ac072f89d60a596d03aab3a8757/tracker-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.build/apksig/3.1.2/5af360dd30015a9a47c8ab0af0e6b05f64760edc/apksig-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.5.0/81241ff7078ef14f42ea2a8995fa09c096256e6b/javawriter-2.5.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.56/4648af70268b6fdb24674fb1fd7c1fcc73db1231/bcpkix-jdk15on-1.56.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.56/a153c6f9744a3e9dd6feab5e210e1c9861362ec7/bcprov-jdk15on-1.56.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.1/87b38c12a0ea645791ead9d3e74ae5268d1d6c34/asm-tree-5.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/it.unimi.dsi/fastutil/7.2.0/5ad3a2bb04143f70aa0765fc29fc29571a7d6b34/fastutil-7.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.json-simple/json-simple/1.1/5e303a03d04e6788dddfa3655272580ae0fc13bb/json-simple-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-reflect/1.2.0/4bbda3b5425aa38a9f6960468a29c5ef3e8a28c9/kotlin-reflect-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.databinding/baseLibrary/3.1.2/1b6a1add6a577708b62737dc31c479549f77750d/baseLibrary-3.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.antlr/antlr4/4.5.3/f35db7e4b2446e4174ba6a73db7bd6b3e6bb5da1/antlr4-4.5.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.googlecode.juniversalchardet/juniversalchardet/1.0.3/cd49678784c46aa8789c060538e0154013bb421b/juniversalchardet-1.0.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup/javapoet/1.8.0/e858dc62ef484048540d27d36f3ec2177a3fa9b1/javapoet-1.8.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.7/751f548c85fa49f330cecbb1875893f971b33c4e/gson-2.7.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/annotations/26.1.2/4f4e0ee71b9ccaa4a70cc86e40fb84ada2ed99a3/annotations-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.proguard/proguard-base/5.3.3/988b6b0636ce343d4962b3b37f6319dcc6e99a61/proguard-base-5.3.3.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools.layoutlib/layoutlib-api/26.1.2/3697abf628d30042c1082ea846454dfd1e8da3e/layoutlib-api-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/dvlib/26.1.2/eb39925fee6e726468fc10344ec988c086301ed7/dvlib-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.tools/repository/26.1.2/c8209ccb8ee0e5e3f293fd71d2a827f440ab811c/repository-26.1.2.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-compress/1.12/84caa68576e345eb5e7ae61a0e5a9229eb100d7b/commons-compress-1.12.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.6/e4ca30a6a3a075053a61c6fc850d2432dc012ba7/httpclient-4.2.6.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.1/9ba2dcdf94ce35c8a8e9bff242db0618ca932e92/httpmime-4.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.kxml/kxml2/2.3.0/ccbc77a5fd907ef863c29f3596c6f54ffa4e9442/kxml2-2.3.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.activation/javax.activation/1.2.0/bf744c1e2776ed1de3c55c8dac1057ec331ef744/javax.activation-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.2.11/65510afc78679e347b0d774617a97fedac94f8/jaxb-runtime-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.jimfs/jimfs/1.1/8fbd0579dc68aba6186935cc1bee21d2f3e7ec1c/jimfs-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.5/472f0f5f8dba5d1962cb9d7739feed739a31c30d/httpcore-4.2.5.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.1.1/5043bfebc3db072ed80fbd362e7caf00e885d8ae/commons-logging-1.1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.2.0/25eb440d6eeb9fc60299121020fe726eb2100d03/kotlin-stdlib-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-core/2.2.11/f5745049f5fb9cb9d9b5f513c207727f475983e9/jaxb-core-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jvnet.staxex/stax-ex/1.7.7/18bed5a0da27a6b43efe01282f2dc911b1cb3a72/stax-ex-1.7.7.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.xml.fastinfoset/FastInfoset/1.2.13/98f56b9354e27bd2941cc5d461344e240ae51ae/FastInfoset-1.2.13.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre7/1.2.0/ec8b969e26fbcf2265a4d1a1539c4d1d4c5af380/kotlin-stdlib-jre7-1.2.0.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/976d8d30bebc251db406f2bdb3eb01962b5685b3/j2objc-annotations-1.1.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/775b7e22fb10026eed3f86e8dc556dfafe35f2d5/animal-sniffer-annotations-1.14.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.xml.bind/jaxb-api/2.2.12-b140109.1041/7ed0e0d01198614194d56dfb03d9d95aa311824c/jaxb-api-2.2.12-b140109.1041.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.2.11/2df047d8c187a62f2177bf6013f1f9786cdfc8a2/txw2-2.2.11.jar" />
- <option value="$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/2.21/c969d8f15c467f0ef7d7b04889afbe7b5d48e22f/istack-commons-runtime-2.21.jar" />
- </list>
- </option>
- <option name="path" value="$PROJECT_DIR$" />
- </ExternalModuleBuildClasspathPojo>
- </value>
- </entry>
- </map>
- </option>
- <option name="name" value="android" />
- <option name="projectBuildClasspath">
- <list>
- <option value="$PROJECT_DIR$/buildSrc/src/main/java" />
- <option value="$PROJECT_DIR$/buildSrc/src/main/groovy" />
- </list>
- </option>
- </ExternalProjectBuildClasspathPojo>
- </value>
- </entry>
- </map>
- </option>
- </component>
- <component name="ProjectFrameBounds">
- <option name="x" value="105" />
- <option name="y" value="23" />
- <option name="width" value="1339" />
- <option name="height" value="859" />
- </component>
- <component name="ProjectView">
- <navigator currentView="Scope" currentSubView="Project Files" proportions="" version="1">
- <foldersAlwaysOnTop value="true" />
- </navigator>
- <panes>
- <pane id="ProjectPane" />
- <pane id="Scope">
- <subPane subId="Project Files">
- <expand>
- <path>
- <item name="Root" type="cbb8eebc:String" user="Root" />
- <item name="android" type="cbb8eebc:String" user="android" />
- </path>
- <path>
- <item name="Root" type="cbb8eebc:String" user="Root" />
- <item name="android" type="cbb8eebc:String" user="android" />
- <item name="$PROJECT_DIR$/.." type="cbb8eebc:String" user="$PROJECT_DIR$/.." />
- </path>
- <path>
- <item name="Root" type="cbb8eebc:String" user="Root" />
- <item name="android" type="cbb8eebc:String" user="android" />
- <item name="$PROJECT_DIR$/.." type="cbb8eebc:String" user="$PROJECT_DIR$/.." />
- <item name="gradle/wrapper" type="cbb8eebc:String" user="gradle/wrapper" />
- </path>
- </expand>
- <select />
- </subPane>
- </pane>
- <pane id="AndroidView">
- <subPane>
- <expand>
- <path>
- <item name="xscreensaver" type="1abcf292:AndroidViewProjectNode" />
- <item name="Gradle Scripts" type="ae0cef3a:AndroidBuildScriptsGroupNode" />
- </path>
- </expand>
- <select />
- </subPane>
- </pane>
- <pane id="PackagesPane" />
- </panes>
- </component>
- <component name="PropertiesComponent">
- <property name="GoToClass.includeLibraries" value="false" />
- <property name="GoToClass.toSaveIncludeLibraries" value="false" />
- <property name="GoToFile.includeJavaFiles" value="false" />
- <property name="MemberChooser.sorted" value="false" />
- <property name="MemberChooser.showClasses" value="true" />
- <property name="MemberChooser.copyJavadoc" value="false" />
- <property name="settings.editor.selected.configurable" value="android.sdk-updates" />
- <property name="settings.editor.splitter.proportion" value="0.2" />
- <property name="SearchEverywhereHistoryKey" value="sdk manager&#9;ACTION&#9;WelcomeScreen.RunAndroidSdkManager" />
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
- <property name="show.do.not.ask.upgrade.gradle.plugin" value="2.1.0" />
- <property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1545885427557" />
- <property name="device.picker.selection" value="Nexus_5_8.1" />
- <property name="sync.plugin.last.upgrade.timestamp" value="1538463643381" />
- </component>
- <component name="RunDashboard">
- <option name="ruleStates">
- <list>
- <RuleState>
- <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
- </RuleState>
- <RuleState>
- <option name="name" value="StatusDashboardGroupingRule" />
- </RuleState>
- </list>
- </option>
- </component>
- <component name="RunManager">
- <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="TEST_OBJECT" value="class" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="file://$MODULE_DIR$" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="singleModule" />
- </option>
- <patterns />
- <method>
- <option name="Make" enabled="false" />
- <option name="Android.Gradle.BeforeRunTask" enabled="true" />
- </method>
- </configuration>
- <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android App">
- <option name="DEPLOY" value="true" />
- <option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
- <option name="ARTIFACT_NAME" value="" />
- <option name="PM_INSTALL_OPTIONS" value="" />
- <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
- <option name="ACTIVITY_EXTRA_FLAGS" value="" />
- <option name="MODE" value="default_activity" />
- <option name="CLEAR_LOGCAT" value="false" />
- <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
- <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
- <option name="FORCE_STOP_RUNNING_APP" value="true" />
- <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
- <option name="USE_LAST_SELECTED_DEVICE" value="false" />
- <option name="PREFERRED_AVD" value="" />
- <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
- <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
- <option name="DEBUGGER_TYPE" value="Auto" />
- <Auto>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Auto>
- <Hybrid>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Hybrid>
- <Java />
- <Native>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Native>
- <Profilers>
- <option name="ADVANCED_PROFILING_ENABLED" value="false" />
- <option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
- <option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sampled (Java)" />
- </Profilers>
- <option name="DEEP_LINK" value="" />
- <option name="ACTIVITY_CLASS" value="" />
- <method>
- <option name="Android.Gradle.BeforeRunTask" enabled="true" />
- </method>
- </configuration>
- <configuration name="xscreensaver" type="AndroidRunConfigurationType" factoryName="Android App">
- <module name="xscreensaver" />
- <option name="DEPLOY" value="true" />
- <option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
- <option name="ARTIFACT_NAME" value="" />
- <option name="PM_INSTALL_OPTIONS" value="" />
- <option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
- <option name="ACTIVITY_EXTRA_FLAGS" value="" />
- <option name="MODE" value="default_activity" />
- <option name="CLEAR_LOGCAT" value="false" />
- <option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
- <option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
- <option name="FORCE_STOP_RUNNING_APP" value="true" />
- <option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
- <option name="USE_LAST_SELECTED_DEVICE" value="false" />
- <option name="PREFERRED_AVD" value="" />
- <option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
- <option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
- <option name="DEBUGGER_TYPE" value="Auto" />
- <Auto>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Auto>
- <Hybrid>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Hybrid>
- <Java />
- <Native>
- <option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
- <option name="SHOW_STATIC_VARS" value="true" />
- <option name="WORKING_DIR" value="" />
- <option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
- <option name="SHOW_OPTIMIZED_WARNING" value="true" />
- </Native>
- <Profilers>
- <option name="ADVANCED_PROFILING_ENABLED" value="false" />
- <option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
- <option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Sampled (Java)" />
- </Profilers>
- <option name="DEEP_LINK" value="" />
- <option name="ACTIVITY_CLASS" value="" />
- </configuration>
- <configuration default="true" type="Application" factoryName="Application">
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
- </configuration>
- <configuration default="true" type="TestNG" factoryName="TestNG">
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="SUITE_NAME" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="GROUP_NAME" />
- <option name="TEST_OBJECT" value="CLASS" />
- <option name="VM_PARAMETERS" value="-ea" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
- <option name="OUTPUT_DIRECTORY" />
- <option name="PASS_PARENT_ENVS" value="true" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="singleModule" />
- </option>
- <option name="USE_DEFAULT_REPORTERS" value="false" />
- <option name="PROPERTIES_FILE" />
- <properties />
- <listeners />
- </configuration>
- <configuration name="&lt;template&gt;" type="Applet" default="true" selected="false">
- <option name="MAIN_CLASS_NAME" />
- <option name="HTML_FILE_NAME" />
- <option name="HTML_USED" value="false" />
- <option name="WIDTH" value="400" />
- <option name="HEIGHT" value="300" />
- <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
- <option name="VM_PARAMETERS" />
- </configuration>
- <configuration name="&lt;template&gt;" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" default="true" selected="false">
- <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
- </configuration>
- </component>
- <component name="SvnConfiguration">
- <configuration />
- </component>
- <component name="TaskManager">
- <task active="true" id="Default" summary="Default task">
- <changelist id="41008724-035d-4e24-92b6-6dfb9231c83c" name="Default" comment="" />
- <created>1475536195508</created>
- <option name="number" value="Default" />
- <option name="presentableId" value="Default" />
- <updated>1475536195508</updated>
- </task>
- <servers />
- </component>
- <component name="ToolWindowManager">
- <frame x="105" y="23" width="1339" height="859" extended-state="0" />
- <layout>
- <window_info anchor="bottom" id="Android Profiler" order="7" show_stripe_button="false" />
- <window_info anchor="bottom" id="TODO" order="6" />
- <window_info anchor="right" id="Palette&#9;" order="3" />
- <window_info id="Image Layers" order="3" />
- <window_info id="Build Variants" order="3" side_tool="true" />
- <window_info anchor="right" id="Capture Analysis" order="3" />
- <window_info active="true" anchor="bottom" id="Event Log" order="7" sideWeight="0.5188897" side_tool="true" visible="true" weight="0.32882273" />
- <window_info anchor="bottom" id="Run" order="2" />
- <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
- <window_info anchor="bottom" id="Terminal" order="7" />
- <window_info anchor="bottom" id="Logcat" order="7" />
- <window_info id="Captures" order="2" weight="0.25" />
- <window_info id="Capture Tool" order="3" />
- <window_info id="Designer" order="3" />
- <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2544333" />
- <window_info anchor="right" id="Assistant" visible="true" weight="0.3299923" />
- <window_info anchor="bottom" id="Build" order="8" sideWeight="0.47185814" weight="0.32928476" />
- <window_info anchor="bottom" id="Find" order="1" sideWeight="0.48111024" visible="true" weight="0.32882273" />
- <window_info anchor="right" id="Gradle" order="3" />
- <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
- <window_info anchor="right" id="Device File Explorer" order="3" side_tool="true" />
- <window_info anchor="right" id="Theme Preview" order="3" />
- <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
- <window_info id="Favorites" order="3" side_tool="true" />
- <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
- <window_info anchor="bottom" id="Messages" order="7" sideWeight="0.49730146" visible="true" weight="0.32839838" />
- <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
- <window_info anchor="right" id="Android Model" order="3" side_tool="true" />
- <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
- <window_info id="Nl-Palette" order="3" />
- <window_info anchor="right" id="Properties" order="3" />
- <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
- <window_info anchor="bottom" id="Message" order="0" />
- <window_info anchor="bottom" id="Gradle Console" order="7" side_tool="true" />
- <window_info anchor="bottom" id="Android Monitor" order="7" />
- <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
- </layout>
- </component>
- <component name="Vcs.Log.UiProperties">
- <option name="RECENTLY_FILTERED_USER_GROUPS">
- <collection />
- </option>
- <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
- <collection />
- </option>
- </component>
- <component name="VcsContentAnnotationSettings">
- <option name="myLimit" value="2678400000" />
- </component>
- <component name="VcsManagerConfiguration">
- <ignored-roots>
- <path value="$PROJECT_DIR$/../.." />
- </ignored-roots>
- </component>
- <component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="90">
- <caret line="6" selection-start-line="6" selection-end-line="6" />
- </state>
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state />
- </provider>
- </entry>
- <entry file="file://$PROJECT_DIR$/../gradle/wrapper/gradle-wrapper.properties">
- <provider selected="true" editor-type-id="text-editor">
- <state relative-caret-position="90">
- <caret line="6" selection-start-line="6" selection-end-line="6" />
- </state>
- </provider>
- </entry>
- </component>
-</project> \ No newline at end of file
diff --git a/android/xscreensaver/assets/fonts/OCRAStd.otf b/android/xscreensaver/assets/fonts/OCRAStd.otf
deleted file mode 120000
index 6259345..0000000
--- a/android/xscreensaver/assets/fonts/OCRAStd.otf
+++ /dev/null
@@ -1 +0,0 @@
-../../../../OSX/OCRAStd.otf \ No newline at end of file
diff --git a/android/xscreensaver/assets/fonts/PxPlus_IBM_VGA8.ttf b/android/xscreensaver/assets/fonts/PxPlus_IBM_VGA8.ttf
deleted file mode 120000
index 184d654..0000000
--- a/android/xscreensaver/assets/fonts/PxPlus_IBM_VGA8.ttf
+++ /dev/null
@@ -1 +0,0 @@
-../../../../OSX/PxPlus_IBM_VGA8.ttf \ No newline at end of file
diff --git a/android/xscreensaver/assets/fonts/YearlReg.ttf b/android/xscreensaver/assets/fonts/YearlReg.ttf
deleted file mode 120000
index 8977be4..0000000
--- a/android/xscreensaver/assets/fonts/YearlReg.ttf
+++ /dev/null
@@ -1 +0,0 @@
-../../../../OSX/YearlReg.ttf \ No newline at end of file
diff --git a/android/xscreensaver/build.gradle b/android/xscreensaver/build.gradle
deleted file mode 100644
index 038e613..0000000
--- a/android/xscreensaver/build.gradle
+++ /dev/null
@@ -1,113 +0,0 @@
-apply plugin: 'android'
-
-dependencies {
- implementation fileTree(include: '*.jar', dir: 'libs')
- implementation "com.android.support:support-v4:27.1.1"
-}
-
-android {
- compileSdkVersion 27
- buildToolsVersion "27.0.3"
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_7
- targetCompatibility JavaVersion.VERSION_1_7
- }
- sourceSets {
- main {
- manifest.srcFile 'AndroidManifest.xml'
- java.srcDirs = ['src']
- resources.srcDirs = ['src']
- aidl.srcDirs = ['src']
- renderscript.srcDirs = ['src']
- res.srcDirs = ['res']
- assets.srcDirs = ['assets']
- // jniLibs.srcDirs = ['jni']
- jniLibs.srcDirs = ['libs']
- jni.srcDirs = [] // disable automatic ndk-build call
- }
-
- // Move the tests to tests/java, tests/res, etc...
- androidTest.setRoot('tests')
-
- // Move the build types to build-types/<type>
- // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
- // This moves them out of them default location under src/<type>/... which would
- // conflict with src/ being used by the main source set.
- // Adding new build types or product flavors should be accompanied
- // by a similar customization.
- debug.setRoot('build-types/debug')
- release.setRoot('build-types/release')
- }
- project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
- //versionCode digit for each supported ABI, with 64bit>32bit and x86>armeabi-*
-
-
- // put ndk-build in build's path, or replace below with its full path
- task ndkBuild(type: Exec) {
- Properties properties = new Properties()
- properties.load(project.rootProject.file('local.properties').newDataInputStream())
- def ndkDir = properties.getProperty('ndk.dir')
- commandLine "$ndkDir/ndk-build", '-C', file('jni').absolutePath,
- '-j' + Runtime.getRuntime().availableProcessors().toString()
- }
-
- // generate files early in the process
- task perlBuild(type: Exec) {
- commandLine 'sh', '-c',
- 'cd ..; ../hacks/check-configs.pl --build-android $ANDROID_HACKS'
- }
-
- task perlClean(type: Delete) {
- delete('../gen')
- delete('res/values')
- delete('res/xml')
- delete('src/org/jwz/xscreensaver/gen')
- delete('AndroidManifest.xml')
- }
-
- task objlibClean(type: Delete) {
- delete('./build')
- delete('./libs')
- delete('./obj')
- }
-
- task downloadNeededDrawables(type: Exec) {
- commandLine 'sh', '-c',
- 'cd ../ ; \
- for f in $ANDROID_HACKS; do \
- f=`echo "$f" | sed s/rd-bomb/rdbomb/` ; \
- make -s xscreensaver/res/drawable/$f.png ; \
- done'
- }
- preBuild.dependsOn downloadNeededDrawables
-
- preBuild.dependsOn perlBuild
-
- clean.dependsOn perlClean
- clean.dependsOn objlibClean
-
- tasks.withType(JavaCompile) {
- options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
- }
-
- tasks.withType(JavaCompile) {
- compileTask -> compileTask.dependsOn ndkBuild
- }
-
-
- defaultConfig {
- // Previous applicationId was "org.jwz.xscreensaver" but I had
- // to change it because I managed to lose the signing key...
- // Note that the Java class tree is still "org.jwz.xscreensaver".
- applicationId "org.jwz.android.xscreensaver"
- minSdkVersion 15
- targetSdkVersion 27
- }
- productFlavors {
- }
- buildTypes {
- debug {
- jniDebuggable true
- }
- }
-}
diff --git a/android/xscreensaver/build.xml b/android/xscreensaver/build.xml
deleted file mode 100644
index abda7fe..0000000
--- a/android/xscreensaver/build.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="Xscreensaver" default="help">
-
- <!-- The local.properties file is created and updated by the 'android' tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The ant.properties file can be created by you. It is only edited by the
- 'android' tool to add properties to it.
- This is the place to change some Ant specific build properties.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- For other overridable properties, look at the beginning of the rules
- files in the SDK, at tools/ant/build.xml
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="ant.properties" />
-
- <!-- if sdk.dir was not set from one of the property file, then
- get it from the ANDROID_HOME env var.
- This must be done before we load project.properties since
- the proguard config can use sdk.dir -->
- <property environment="env" />
- <condition property="sdk.dir" value="${env.ANDROID_HOME}">
- <isset property="env.ANDROID_HOME" />
- </condition>
-
- <!-- The project.properties file is created and updated by the 'android'
- tool, as well as ADT.
-
- This contains project specific properties such as project target, and library
- dependencies. Lower level build properties are stored in ant.properties
- (or in .classpath for Eclipse projects).
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <loadproperties srcFile="project.properties" />
-
- <!-- quick check on sdk.dir -->
- <fail
- message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
- unless="sdk.dir"
- />
-
- <!--
- Import per project custom build rules if present at the root of the project.
- This is the place to put custom intermediary targets such as:
- -pre-build
- -pre-compile
- -post-compile (This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir})
- -post-package
- -post-build
- -pre-clean
- -->
- <import file="custom_rules.xml" optional="true" />
-
- <!-- Import the actual build file.
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <import> task.
- - customize it to your needs.
- - Customize the whole content of build.xml
- - copy/paste the content of the rules files (minus the top node)
- into this file, replacing the <import> task.
- - customize to your needs.
-
- ***********************
- ****** IMPORTANT ******
- ***********************
- In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
- in order to avoid having your file be overridden by tools such as "android update project"
- -->
- <!-- version-tag: 1 -->
- <import file="${sdk.dir}/tools/ant/build.xml" />
-
-</project>
diff --git a/android/xscreensaver/gradle/wrapper/gradle-wrapper.jar b/android/xscreensaver/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 13372ae..0000000
--- a/android/xscreensaver/gradle/wrapper/gradle-wrapper.jar
+++ /dev/null
Binary files differ
diff --git a/android/xscreensaver/gradle/wrapper/gradle-wrapper.properties b/android/xscreensaver/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 3524910..0000000
--- a/android/xscreensaver/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Sat Feb 10 21:20:31 PST 2018
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
diff --git a/android/xscreensaver/gradlew b/android/xscreensaver/gradlew
deleted file mode 100644
index 9d82f78..0000000
--- a/android/xscreensaver/gradlew
+++ /dev/null
@@ -1,160 +0,0 @@
-#!/usr/bin/env bash
-
-##############################################################################
-##
-## Gradle start up script for UN*X
-##
-##############################################################################
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
-
-APP_NAME="Gradle"
-APP_BASE_NAME=`basename "$0"`
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD="maximum"
-
-warn ( ) {
- echo "$*"
-}
-
-die ( ) {
- echo
- echo "$*"
- echo
- exit 1
-}
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-case "`uname`" in
- CYGWIN* )
- cygwin=true
- ;;
- Darwin* )
- darwin=true
- ;;
- MINGW* )
- msys=true
- ;;
-esac
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD="java"
- which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-
-# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
- MAX_FD_LIMIT=`ulimit -H -n`
- if [ $? -eq 0 ] ; then
- if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
- MAX_FD="$MAX_FD_LIMIT"
- fi
- ulimit -n $MAX_FD
- if [ $? -ne 0 ] ; then
- warn "Could not set maximum file descriptor limit: $MAX_FD"
- fi
- else
- warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
- fi
-fi
-
-# For Darwin, add options to specify how the application appears in the dock
-if $darwin; then
- GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
-fi
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
- APP_HOME=`cygpath --path --mixed "$APP_HOME"`
- CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
- JAVACMD=`cygpath --unix "$JAVACMD"`
-
- # We build the pattern for arguments to be converted via cygpath
- ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
- SEP=""
- for dir in $ROOTDIRSRAW ; do
- ROOTDIRS="$ROOTDIRS$SEP$dir"
- SEP="|"
- done
- OURCYGPATTERN="(^($ROOTDIRS))"
- # Add a user-defined pattern to the cygpath arguments
- if [ "$GRADLE_CYGPATTERN" != "" ] ; then
- OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
- fi
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- i=0
- for arg in "$@" ; do
- CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
- CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
-
- if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
- eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
- else
- eval `echo args$i`="\"$arg\""
- fi
- i=$((i+1))
- done
- case $i in
- (0) set -- ;;
- (1) set -- "$args0" ;;
- (2) set -- "$args0" "$args1" ;;
- (3) set -- "$args0" "$args1" "$args2" ;;
- (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
- (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
- (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
- (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
- (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
- (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
- esac
-fi
-
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
-}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
-
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/android/xscreensaver/gradlew.bat b/android/xscreensaver/gradlew.bat
deleted file mode 100644
index aec9973..0000000
--- a/android/xscreensaver/gradlew.bat
+++ /dev/null
@@ -1,90 +0,0 @@
-@if "%DEBUG%" == "" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
-set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto init
-
-echo.
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto init
-
-echo.
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
-echo.
-echo Please set the JAVA_HOME variable in your environment to match the
-echo location of your Java installation.
-
-goto fail
-
-:init
-@rem Get command-line arguments, handling Windowz variants
-
-if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
-
-:win9xME_args
-@rem Slurp the command line arguments.
-set CMD_LINE_ARGS=
-set _SKIP=2
-
-:win9xME_args_slurp
-if "x%~1" == "x" goto execute
-
-set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
-
-:end
-@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/android/xscreensaver/jni/Android.mk b/android/xscreensaver/jni/Android.mk
deleted file mode 100644
index 3396bd9..0000000
--- a/android/xscreensaver/jni/Android.mk
+++ /dev/null
@@ -1,200 +0,0 @@
-LOCAL_PATH := $(call my-dir)/../../..
-
-# -Wnested-externs would also be here, but for Android unistd.h.
-SHARED_CFLAGS = \
- -std=c99 \
- -Wall \
- -Wstrict-prototypes \
- -Wmissing-prototypes \
- -DGL_GLEXT_PROTOTYPES \
- -DSTANDALONE=1 \
- -DHAVE_ANDROID=1 \
- -DHAVE_GL=1 \
- -DHAVE_JWXYZ=1 \
- -DJWXYZ_GL=1 \
- -DJWXYZ_IMAGE=1 \
- -DHAVE_JWZGLES=1 \
- -DHAVE_XUTF8DRAWSTRING=1 \
- -DHAVE_GLBINDTEXTURE=1 \
- -DHAVE_UNISTD_H=1 \
- -DHAVE_INTTYPES_H=1 \
- -DHAVE_UNAME=1 \
- -DHAVE_UTIL_H=1 \
- -DGETTIMEOFDAY_TWO_ARGS=1 \
- -DHAVE_ICMP=1 \
- -DHAVE_PTHREAD=1 \
-
-SHARED_C_INCLUDES = \
- $(LOCAL_PATH) \
- $(LOCAL_PATH)/android \
- $(LOCAL_PATH)/utils \
- $(LOCAL_PATH)/jwxyz \
- $(LOCAL_PATH)/hacks \
- $(LOCAL_PATH)/hacks/glx \
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := xscreensaver-gl
-
-LOCAL_SRC_FILES := \
- android/screenhack-android.c \
- hacks/glx/dropshadow.c \
- hacks/glx/chessmodels.c \
- hacks/glx/fps-gl.c \
- hacks/glx/gltrackball.c \
- hacks/glx/glut_stroke.c \
- hacks/glx/glut_swidth.c \
- hacks/glx/grab-ximage.c \
- hacks/glx/marching.c \
- hacks/glx/normals.c \
- hacks/glx/rotator.c \
- hacks/glx/sphere.c \
- hacks/glx/texfont.c \
- hacks/glx/trackball.c \
- hacks/glx/tube.c \
-
-# Some savers occupy more than one source file:
-LOCAL_SRC_FILES += \
- hacks/glx/b_draw.c \
- hacks/glx/b_lockglue.c \
- hacks/glx/b_sphere.c \
- hacks/glx/buildlwo.c \
- hacks/glx/companion_quad.c \
- hacks/glx/companion_disc.c \
- hacks/glx/companion_heart.c \
- hacks/glx/cow_face.c \
- hacks/glx/cow_hide.c \
- hacks/glx/cow_hoofs.c \
- hacks/glx/cow_horns.c \
- hacks/glx/cow_tail.c \
- hacks/glx/cow_udder.c \
- hacks/glx/dolphin.c \
- hacks/glx/dymaxionmap-coords.c \
- hacks/glx/gllist.c \
- hacks/glx/glschool_alg.c \
- hacks/glx/glschool_gl.c \
- hacks/glx/handsy_model.c \
- hacks/glx/involute.c \
- hacks/glx/lament_model.c \
- hacks/glx/pipeobjs.c \
- hacks/glx/quickhull.c \
- hacks/glx/robot.c \
- hacks/glx/robot-wireframe.c \
- hacks/glx/polyhedra-gl.c \
- hacks/glx/s1_1.c \
- hacks/glx/s1_2.c \
- hacks/glx/s1_3.c \
- hacks/glx/s1_4.c \
- hacks/glx/s1_5.c \
- hacks/glx/s1_6.c \
- hacks/glx/s1_b.c \
- hacks/glx/seccam.c \
- hacks/glx/shark.c \
- hacks/glx/ships.c \
- hacks/glx/sonar-sim.c \
- hacks/glx/sonar-icmp.c \
- hacks/glx/splitflap_obj.c \
- hacks/glx/sproingiewrap.c \
- hacks/glx/stonerview-move.c \
- hacks/glx/stonerview-osc.c \
- hacks/glx/stonerview-view.c \
- hacks/glx/swim.c \
- hacks/glx/tangram_shapes.c \
- hacks/glx/teapot.c \
- hacks/glx/toast.c \
- hacks/glx/toast2.c \
- hacks/glx/toaster.c \
- hacks/glx/toaster_base.c \
- hacks/glx/toaster_handle.c \
- hacks/glx/toaster_handle2.c \
- hacks/glx/toaster_jet.c \
- hacks/glx/toaster_knob.c \
- hacks/glx/toaster_slots.c \
- hacks/glx/toaster_wing.c \
- hacks/glx/tronbit_idle1.c \
- hacks/glx/tronbit_idle2.c \
- hacks/glx/tronbit_no.c \
- hacks/glx/tronbit_yes.c \
- hacks/glx/tunnel_draw.c \
- hacks/glx/whale.c \
-
-# The source files of the currently active GL hacks:
-LOCAL_SRC_FILES += $(shell \
- for f in $$ANDROID_HACKS ; do \
- if [ "$$f" = "companioncube" ]; then f="companion"; fi ; \
- if [ -f "../../../hacks/glx/$$f.c" ]; then \
- echo "hacks/glx/$$f.c" ; \
- fi ; \
- done )
-
-LOCAL_C_INCLUDES := $(SHARED_C_INCLUDES)
-LOCAL_CFLAGS += $(SHARED_CFLAGS) -DUSE_GL
-
-include $(BUILD_STATIC_LIBRARY)
-
-##############################################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := xscreensaver
-
-LOCAL_STATIC_LIBRARIES := xscreensaver-gl
-
-# The base framework files:
-LOCAL_SRC_FILES := \
- jwxyz/jwxyz-android.c \
- jwxyz/jwxyz-common.c \
- jwxyz/jwxyz-gl.c \
- jwxyz/jwxyz-image.c \
- jwxyz/jwxyz-timers.c \
- jwxyz/jwzgles.c \
-
-# Utilities used by the hacks:
-LOCAL_SRC_FILES += \
- hacks/analogtv.c \
- hacks/delaunay.c \
- hacks/fps.c \
- hacks/xlockmore.c \
- hacks/ximage-loader.c \
- utils/async_netdb.c \
- utils/aligned_malloc.c \
- utils/colorbars.c \
- utils/colors.c \
- utils/erase.c \
- utils/font-retry.c \
- utils/grabclient.c \
- utils/hsv.c \
- utils/logo.c \
- utils/minixpm.c \
- utils/pow2.c \
- utils/resources.c \
- utils/spline.c \
- utils/textclient-mobile.c \
- utils/thread_util.c \
- utils/usleep.c \
- utils/utf8wc.c \
- utils/xft.c \
- utils/xshm.c \
- utils/yarandom.c \
-
-# The source files of the currently active Xlib hacks:
-LOCAL_SRC_FILES += $(shell \
- for f in $$ANDROID_HACKS ; do \
- if [ -f "../../../hacks/$$f.c" ]; then \
- echo "hacks/$$f.c" ; \
- fi ; \
- done )
-
-# Some savers occupy more than one source file:
-LOCAL_SRC_FILES += \
- hacks/apple2-main.c \
- hacks/asm6502.c \
- hacks/pacman_ai.c \
- hacks/pacman_level.c \
-
-LOCAL_LDLIBS := -lGLESv1_CM -ldl -llog -lEGL -latomic -landroid -ljnigraphics
-
-LOCAL_C_INCLUDES := $(SHARED_C_INCLUDES)
-LOCAL_CFLAGS += $(SHARED_CFLAGS)
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/android/xscreensaver/jni/Application.mk b/android/xscreensaver/jni/Application.mk
deleted file mode 100644
index 311946d..0000000
--- a/android/xscreensaver/jni/Application.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Get this value from android/Makefile
-APP_ABI := $(shell echo $$APP_ABI)
-APP_STL := c++_static
-APP_PLATFORM := android-16
-# ^^ APP_PLATFORM is minimum API version supported
-# https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md#target-api-set-higher-than-device-api
-
diff --git a/android/xscreensaver/local.properties b/android/xscreensaver/local.properties
deleted file mode 100644
index d530e0d..0000000
--- a/android/xscreensaver/local.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-## This file is automatically generated by Android Studio.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must *NOT* be checked into Version Control Systems,
-# as it contains information specific to your local configuration.
-#
-# Location of the SDK. This is only used by Gradle.
-# For customization when using a Version Control System, please read the
-# header note.
-#Mon Oct 03 16:09:56 PDT 2016
-sdk.dir=/Users/jwz/Library/Android/sdk
diff --git a/android/xscreensaver/project.properties b/android/xscreensaver/project.properties
deleted file mode 100644
index 1e1e7a3..0000000
--- a/android/xscreensaver/project.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-android.library.reference.1=
-# Project target.
-target=android-19
diff --git a/android/xscreensaver/res/drawable-ldpi/icon.png b/android/xscreensaver/res/drawable-ldpi/icon.png
deleted file mode 100644
index c4d1934..0000000
--- a/android/xscreensaver/res/drawable-ldpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/android/xscreensaver/res/drawable-mdpi/icon.png b/android/xscreensaver/res/drawable-mdpi/icon.png
deleted file mode 100644
index 1e14e4b..0000000
--- a/android/xscreensaver/res/drawable-mdpi/icon.png
+++ /dev/null
Binary files differ
diff --git a/android/xscreensaver/res/drawable/thumbnail.png b/android/xscreensaver/res/drawable/thumbnail.png
deleted file mode 100644
index a86c16c..0000000
--- a/android/xscreensaver/res/drawable/thumbnail.png
+++ /dev/null
Binary files differ
diff --git a/android/xscreensaver/res/layout-land/activity_xscreensaver.xml b/android/xscreensaver/res/layout-land/activity_xscreensaver.xml
deleted file mode 100644
index d9094b9..0000000
--- a/android/xscreensaver/res/layout-land/activity_xscreensaver.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- TODO: Remove action bar; it's redundant. -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="horizontal"
- android:gravity="center_horizontal"
- tools:context="org.jwz.xscreensaver.Activity">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:gravity="center_vertical"
- android:orientation="vertical">
-
- <ImageView
- android:layout_width="256sp"
- android:layout_height="256sp"
- android:layout_centerHorizontal="true"
- android:src="@drawable/thumbnail" />
- <!-- TODO: Version number! -->
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:gravity="center_vertical"
- android:orientation="vertical">
-
-
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="XScreenSaver"
- android:textSize="32sp" />
- <Button
- android:id="@+id/apply_wallpaper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Open live wallpaper list" />
- <Button
- android:id="@+id/apply_daydream"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Open Daydream list" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:gravity="center"
- android:text="https://www.jwz.org/xscreensaver/" />
- </LinearLayout>
-</LinearLayout>
diff --git a/android/xscreensaver/res/layout/activity_tv_xscreensaver.xml b/android/xscreensaver/res/layout/activity_tv_xscreensaver.xml
deleted file mode 100644
index 4c658bd..0000000
--- a/android/xscreensaver/res/layout/activity_tv_xscreensaver.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- TODO: Flip layout orientation on rotation. And maybe make scrollable? -->
-<!-- TODO: Remove action bar; it's redundant. -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- tools:context="org.jwz.xscreensaver.TVActivity">
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:orientation="vertical">
- <ImageView
- android:layout_width="256sp"
- android:layout_height="256sp"
- android:layout_centerHorizontal="true"
- android:src="@drawable/thumbnail" />
- <!-- TODO: Version number! -->
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="XScreenSaver"
- android:textSize="32sp" />
- <!-- TODO: Either figure out how to open daydream settings directly on
- Android TV, or change this to say "Open Settings". -->
- <Button
- android:id="@+id/apply_daydream"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Open Daydream list" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:gravity="center"
- android:text="https://www.jwz.org/xscreensaver/" />
- </LinearLayout>
-</RelativeLayout>
diff --git a/android/xscreensaver/res/layout/activity_xscreensaver.xml b/android/xscreensaver/res/layout/activity_xscreensaver.xml
deleted file mode 100644
index 88372e6..0000000
--- a/android/xscreensaver/res/layout/activity_xscreensaver.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- TODO: Flip layout orientation on rotation. And maybe make scrollable? -->
-<!-- TODO: Remove action bar; it's redundant. -->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- tools:context="org.jwz.xscreensaver.Activity">
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerHorizontal="true"
- android:layout_centerVertical="true"
- android:orientation="vertical">
- <ImageView
- android:layout_width="256sp"
- android:layout_height="256sp"
- android:layout_centerHorizontal="true"
- android:src="@drawable/thumbnail" />
- <!-- TODO: Version number! -->
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="XScreenSaver"
- android:textSize="32sp" />
- <Button
- android:id="@+id/apply_wallpaper"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Open live wallpaper list" />
- <Button
- android:id="@+id/apply_daydream"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="Open Daydream list" />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:autoLink="web"
- android:gravity="center"
- android:text="https://www.jwz.org/xscreensaver/" />
- </LinearLayout>
-</RelativeLayout>
diff --git a/android/xscreensaver/res/layout/main.xml b/android/xscreensaver/res/layout/main.xml
deleted file mode 100644
index 4361cfe..0000000
--- a/android/xscreensaver/res/layout/main.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
-</LinearLayout>
diff --git a/android/xscreensaver/res/layout/preference_blurb.xml b/android/xscreensaver/res/layout/preference_blurb.xml
deleted file mode 100644
index 66e6d82..0000000
--- a/android/xscreensaver/res/layout/preference_blurb.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!-- Layout for the description of each screen saver, that appears
- at the bottom of the preferences screen. Based on
- sdk/platforms/android-21/data/res/layout/preference.xml
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingEnd="?android:attr/scrollbarSize"
- android:background="?android:attr/selectableItemBackground" >
-
- <ImageView
- android:id="@+android:id/icon"
- android:layout_gravity="top"
- android:layout_width="40dip"
- android:layout_height="40dip"
- android:layout_marginTop="0dip"
- />
-
- <RelativeLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="0dip"
- android:layout_marginEnd="0dip"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="6dip"
- android:layout_weight="1">
-
- <TextView android:id="@+android:id/summary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@android:id/title"
- android:layout_alignStart="@android:id/title"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorPrimary"
- android:layout_marginTop="8dip"
- android:maxLines="1000" />
-
- </RelativeLayout>
-
-</LinearLayout>
diff --git a/android/xscreensaver/res/layout/slider_preference.xml b/android/xscreensaver/res/layout/slider_preference.xml
deleted file mode 100644
index 69647ff..0000000
--- a/android/xscreensaver/res/layout/slider_preference.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!-- Layout for org/jwz/xscreensaver/SliderPreference.java -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingEnd="?android:attr/scrollbarSize"
- android:background="?android:attr/selectableItemBackground" >
-
- <TextView
- android:id="@+android:id/title"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:ellipsize="end"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="40"
- android:width="0dp"
- android:layout_marginLeft="16dip" />
-
- <LinearLayout
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="60"
- android:orientation="vertical"
- android:layout_marginLeft="0dip" >
-
- <SeekBar
- android:id="@+id/slider_preference_seekbar"
- android:layout_width="match_parent"
- android:layout_height="wrap_content" />
-
- <RelativeLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal" >
-
- <TextView
- android:id="@+id/slider_preference_low"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:ellipsize="end"
- android:singleLine="true"
- android:layout_alignParentLeft="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-
- <TextView
- android:id="@+id/slider_preference_high"
- android:layout_alignParentRight="true"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:ellipsize="end"
- android:singleLine="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-
- </RelativeLayout>
- </LinearLayout>
-</LinearLayout>
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/Activity.java b/android/xscreensaver/src/org/jwz/xscreensaver/Activity.java
deleted file mode 100644
index ac0ab4c..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/Activity.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * xscreensaver, Copyright (c) 2016 Jamie Zawinski <jwz@jwz.org>
- * and Dennis Sheil <dennis@panaceasupplies.com>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * This is the XScreenSaver "application" that just brings up the
- * Live Wallpaper preferences.
- */
-
-package org.jwz.xscreensaver;
-
-import android.app.WallpaperManager;
-import android.content.ComponentName;
-import android.content.Intent;
-import android.os.Build;
-import android.os.Bundle;
-import android.view.View;
-import android.provider.Settings;
-import android.Manifest;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.os.Build;
-import android.content.pm.PackageManager;
-
-public class Activity extends android.app.Activity
- implements View.OnClickListener {
-
- private boolean wallpaperButtonClicked, daydreamButtonClicked;
- private final static int MY_REQ_READ_EXTERNAL_STORAGE = 271828;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // openList();
- setContentView(R.layout.activity_xscreensaver);
- wallpaperButtonClicked = false;
- daydreamButtonClicked = false;
-
- findViewById(R.id.apply_wallpaper).setOnClickListener(this);
- findViewById(R.id.apply_daydream).setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.apply_wallpaper:
- wallpaperButtonClicked();
- break;
- case R.id.apply_daydream:
- daydreamButtonClicked();
- break;
- }
- }
-
- // synchronized when dealing with wallpaper state - perhaps can
- // narrow down more
- private synchronized void withProceed() {
- if (daydreamButtonClicked) {
- String action;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
- action = Settings.ACTION_DREAM_SETTINGS;
- } else {
- action = Settings.ACTION_DISPLAY_SETTINGS;
- }
- startActivity(new Intent(action));
- } else if (wallpaperButtonClicked) {
- startActivity(new Intent(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER));
- }
- }
-
- private void wallpaperButtonClicked() {
- wallpaperButtonClicked = true;
- checkPermission();
- }
-
- private void daydreamButtonClicked() {
- daydreamButtonClicked = true;
- checkPermission();
- }
-
- void checkPermission() {
- // RES introduced in API 16
- String permission = Manifest.permission.READ_EXTERNAL_STORAGE;
- if (havePermission(permission)) {
- withProceed();
- } else {
- noPermission(permission);
- }
- }
-
- private void noPermission(String permission) {
- int myRequestCode;
- myRequestCode = MY_REQ_READ_EXTERNAL_STORAGE;
-
- if (permissionsDeniedRationale(permission)) {
- showDeniedRationale();
- } else {
- requestPermission(permission, myRequestCode);
- }
- }
-
- private boolean permissionsDeniedRationale(String permission) {
- boolean rationale = ActivityCompat.shouldShowRequestPermissionRationale(this,
- permission);
- return rationale;
- }
-
- private void requestPermission(String permission, int myRequestCode) {
- ActivityCompat.requestPermissions(this,
- new String[]{permission},
- myRequestCode);
-
- // myRequestCode is an app-defined int constant.
- // The callback method gets the result of the request.
- }
-
- // TODO: This method should be asynchronous, and not block the thread
- private void showDeniedRationale() {
- withProceed();
- }
-
- boolean havePermission(String permission) {
-
- if (Build.VERSION.SDK_INT < 16) {
- return true;
- }
-
- if (permissionGranted(permission)) {
- return true;
- }
-
- return false;
- }
-
- private boolean permissionGranted(String permission) {
- boolean check = ContextCompat.checkSelfPermission(this, permission) ==
- PackageManager.PERMISSION_GRANTED;
- return check;
- }
-
- public void proceedIfPermissionGranted(int[] grantResults) {
-
- // If request is cancelled, the result arrays are empty.
- if (grantResults.length > 0
- && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- withProceed();
- } else if (grantResults.length > 0) {
- withProceed();
- }
- }
-
- @Override
- public void onRequestPermissionsResult(int requestCode,
- String permissions[], int[] grantResults) {
- switch (requestCode) {
- case MY_REQ_READ_EXTERNAL_STORAGE:
- proceedIfPermissionGranted(grantResults);
- }
- }
-
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/App.java b/android/xscreensaver/src/org/jwz/xscreensaver/App.java
deleted file mode 100644
index 3d39788..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/App.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016 Jamie Zawinski <jwz@jwz.org>
- * and Dennis Sheil <dennis@panaceasupplies.com>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- */
-
-package org.jwz.xscreensaver;
-
-import android.app.Application;
-
-public class App extends Application {
- public App() {
- super();
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/Daydream.java b/android/xscreensaver/src/org/jwz/xscreensaver/Daydream.java
deleted file mode 100644
index 372af95..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/Daydream.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016-2017 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * The superclass of every saver's Daydream.
- *
- * Each Daydream needs a distinct subclass in order to show up in the list.
- * We know which saver we are running by the subclass name; we know which
- * API to use by how the subclass calls super().
- */
-
-package org.jwz.xscreensaver;
-
-import android.view.Display;
-import android.view.Surface;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.view.KeyEvent;
-import android.service.dreams.DreamService;
-import android.view.GestureDetector;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.os.Message;
-import android.os.Handler;
-import android.os.Looper;
-import android.util.Log;
-
-public class Daydream extends DreamService {
-
- private class SaverView extends SurfaceView
- implements SurfaceHolder.Callback {
-
- private boolean initTried = false;
- private jwxyz jwxyz_obj;
-
- private GestureDetector detector;
-
- private Runnable on_quit = new Runnable() {
- @Override
- public void run() {
- finish(); // Exit the Daydream
- }
- };
-
- SaverView () {
- super (Daydream.this);
- getHolder().addCallback(this);
- }
-
- @Override
- public void surfaceChanged (SurfaceHolder holder, int format,
- int width, int height) {
-
- if (width == 0 || height == 0) {
- detector = null;
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
-
- Log.d ("xscreensaver",
- String.format("surfaceChanged: %dx%d", width, height));
-
- /*
- double r = 0;
-
- Display d = view.getDisplay();
-
- if (d != null) {
- switch (d.getRotation()) {
- case Surface.ROTATION_90: r = 90; break;
- case Surface.ROTATION_180: r = 180; break;
- case Surface.ROTATION_270: r = 270; break;
- }
- }
- */
-
- if (jwxyz_obj == null) {
- jwxyz_obj = new jwxyz (jwxyz.saverNameOf (Daydream.this),
- Daydream.this, screenshot, width, height,
- holder.getSurface(), on_quit);
- detector = new GestureDetector (Daydream.this, jwxyz_obj);
- } else {
- jwxyz_obj.resize (width, height);
- }
-
- jwxyz_obj.start();
- }
-
- @Override
- public void surfaceCreated (SurfaceHolder holder) {
- if (!initTried) {
- initTried = true;
- } else {
- if (jwxyz_obj != null) {
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
- }
- }
-
- @Override
- public void surfaceDestroyed (SurfaceHolder holder) {
- if (jwxyz_obj != null) {
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
- }
-
- @Override
- public boolean onTouchEvent (MotionEvent event) {
- detector.onTouchEvent (event);
- if (event.getAction() == MotionEvent.ACTION_UP)
- jwxyz_obj.dragEnded (event);
- return true;
- }
-
- @Override
- public boolean onKeyDown (int keyCode, KeyEvent event) {
- // In the emulator, this doesn't receive keyboard arrow keys, PgUp, etc.
- // Some other keys like "Home" are interpreted before we get here, and
- // function keys do weird shit.
-
- // TODO: Does this still work? And is the above still true?
-
- if (view.jwxyz_obj != null)
- view.jwxyz_obj.sendKeyEvent (event);
- return true;
- }
- }
-
- private SaverView view;
- Bitmap screenshot;
-
- private void LOG (String fmt, Object... args) {
- Log.d ("xscreensaver",
- this.getClass().getSimpleName() + ": " +
- String.format (fmt, args));
- }
-
- protected Daydream () {
- super();
- }
-
- // Called when jwxyz_abort() is called, or other exceptions are thrown.
- //
-/*
- @Override
- public void uncaughtException (Thread thread, Throwable ex) {
-
- renderer = null;
- String err = ex.toString();
- LOG ("Caught exception: %s", err);
-
- this.finish(); // Exit the Daydream
-
- final AlertDialog.Builder b = new AlertDialog.Builder(this);
- b.setMessage (err);
- b.setCancelable (false);
- b.setPositiveButton ("Bummer",
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface d, int id) {
- }
- });
-
- // #### This isn't working:
- // "Attempted to add window with non-application token"
- // "Unable to add window -- token null is not for an application"
- // I think I need to get an "Activity" to run it on somehow?
-
- new Handler (Looper.getMainLooper()).post (new Runnable() {
- public void run() {
- AlertDialog alert = b.create();
- alert.setTitle (this.getClass().getSimpleName() + " crashed");
- alert.setIcon(android.R.drawable.ic_dialog_alert);
- alert.show();
- }
- });
-
- old_handler.uncaughtException (thread, ex);
- }
-*/
-
-
- @Override
- public void onAttachedToWindow() {
- super.onAttachedToWindow();
-
- setInteractive (true);
- setFullscreen (true);
- saveScreenshot();
-
- view = new SaverView ();
- setContentView (view);
- }
-
- public void onDreamingStarted() {
- super.onDreamingStarted();
- // view.jwxyz_obj.start();
- }
-
- public void onDreamingStopped() {
- super.onDreamingStopped();
- view.jwxyz_obj.pause();
- }
-
- public void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- try {
- if (view.jwxyz_obj != null)
- view.jwxyz_obj.pause();
- } catch (Exception exc) {
- // Fun fact: Android swallows exceptions coming from here, then crashes
- // elsewhere.
- LOG ("onDetachedFromWindow: %s", exc.toString());
- throw exc;
- }
- }
-
-
- // At startup, before we have blanked the screen, save a screenshot
- // for later use by the hacks.
- //
- private void saveScreenshot() {
- View view = getWindow().getDecorView().getRootView();
- if (view == null) {
- LOG ("unable to get root view for screenshot");
- } else {
-
- // This doesn't work:
- /*
- boolean was = view.isDrawingCacheEnabled();
- if (!was) view.setDrawingCacheEnabled (true);
- view.buildDrawingCache();
- screenshot = view.getDrawingCache();
- if (!was) view.setDrawingCacheEnabled (false);
- if (screenshot == null) {
- LOG ("unable to get screenshot bitmap from %s", view.toString());
- } else {
- screenshot = Bitmap.createBitmap (screenshot);
- }
- */
-
- // This doesn't work either: width and height are both -1...
-
- int w = view.getLayoutParams().width;
- int h = view.getLayoutParams().height;
- if (w <= 0 || h <= 0) {
- LOG ("unable to get root view for screenshot");
- } else {
- screenshot = Bitmap.createBitmap (w, h, Bitmap.Config.ARGB_8888);
- Canvas c = new Canvas (screenshot);
- view.layout (0, 0, w, h);
- view.draw (c);
- }
- }
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/Settings.java b/android/xscreensaver/src/org/jwz/xscreensaver/Settings.java
deleted file mode 100644
index 17bac0f..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/Settings.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016 Jamie Zawinski <jwz@jwz.org>
- * and Dennis Sheil <dennis@panaceasupplies.com>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * The superclass of every saver's preferences panel.
- *
- * The only reason the subclasses of this class exist is so that we know
- * which "_settings.xml" to read -- we extract the base name from self's
- * class.
- *
- * project/xscreensaver/res/xml/SAVER_dream.xml refers to it as
- * android:settingsActivity="SAVER_Settings". If there was some way
- * to pass an argument from the XML into here, or to otherwise detect
- * which Dream was instantiating this Settings, we wouldn't need those
- * hundreds of Settings subclasses.
- */
-
-package org.jwz.xscreensaver;
-
-import android.content.SharedPreferences;
-import android.os.Bundle;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceActivity;
-import android.preference.Preference;
-import android.preference.ListPreference;
-import android.preference.EditTextPreference;
-import android.preference.CheckBoxPreference;
-import org.jwz.xscreensaver.SliderPreference;
-
-import org.jwz.xscreensaver.R;
-import java.util.Map;
-import java.lang.reflect.Field;
-
-public abstract class Settings extends PreferenceActivity
- implements SharedPreferences.OnSharedPreferenceChangeListener {
-
- @Override
- protected void onCreate (Bundle icicle) {
- super.onCreate (icicle);
-
- // Extract the saver name from e.g. "BouncingCowSettings"
- String name = this.getClass().getSimpleName();
- String tail = "Settings";
- if (name.endsWith(tail))
- name = name.substring (0, name.length() - tail.length());
- name = name.toLowerCase();
-
- // #### All of these have been deprecated:
- // getPreferenceManager()
- // addPreferencesFromResource(int)
- // findPreference(CharSequence)
-
- getPreferenceManager().setSharedPreferencesName (name);
-
- // read R.xml.SAVER_settings dynamically
- int res = -1;
- String pref_class = name + "_settings";
- try { res = R.xml.class.getDeclaredField(pref_class).getInt (null); }
- catch (Exception e) { }
- if (res != -1)
- addPreferencesFromResource (res);
-
- final int res_final = res;
-
- SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
- prefs.registerOnSharedPreferenceChangeListener (this);
- updateAllPrefsSummaries (prefs);
-
- // Find the "Reset to defaults" button and install a click handler on it.
- //
- Preference reset = findPreference (name + "_reset");
- reset.setOnPreferenceClickListener(
- new Preference.OnPreferenceClickListener() {
- @Override
- public boolean onPreferenceClick(Preference preference) {
-
- SharedPreferences prefs =
- getPreferenceManager().getSharedPreferences();
-
- // Wipe everything from the preferences hash, then reload defaults.
- prefs.edit().clear().commit();
- getPreferenceScreen().removeAll();
- addPreferencesFromResource (res_final);
-
- // I guess we need to re-get this after the removeAll?
- prefs = getPreferenceManager().getSharedPreferences();
-
- // But now we need to iterate over every Preference widget and
- // push the new value down into it. If you think this all looks
- // ridiculously non-object-oriented and completely insane, that's
- // because it is.
-
- Map <String, ?> keys = prefs.getAll();
- for (Map.Entry <String, ?> entry : keys.entrySet()) {
- String key = entry.getKey();
- String val = String.valueOf (entry.getValue());
-
- Preference pref = findPreference (key);
- if (pref instanceof ListPreference) {
- ((ListPreference) pref).setValue (prefs.getString (key, ""));
- } else if (pref instanceof SliderPreference) {
- ((SliderPreference) pref).setValue (prefs.getFloat (key, 0));
- } else if (pref instanceof EditTextPreference) {
- ((EditTextPreference) pref).setText (prefs.getString (key, ""));
- } else if (pref instanceof CheckBoxPreference) {
- ((CheckBoxPreference) pref).setChecked (
- prefs.getBoolean (key,false));
- }
-
- updatePrefsSummary (prefs, pref);
- }
- return true;
- }
- });
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
- prefs.registerOnSharedPreferenceChangeListener (this);
- updateAllPrefsSummaries(prefs);
- }
-
- @Override
- protected void onPause() {
- getPreferenceManager().getSharedPreferences().
- unregisterOnSharedPreferenceChangeListener(this);
- super.onPause();
- }
-
- @Override
- protected void onDestroy() {
- getPreferenceManager().getSharedPreferences().
- unregisterOnSharedPreferenceChangeListener(this);
- super.onDestroy();
- }
-
- public void onSharedPreferenceChanged (SharedPreferences sharedPreferences,
- String key) {
- updatePrefsSummary(sharedPreferences, findPreference(key));
- }
-
- protected void updatePrefsSummary(SharedPreferences sharedPreferences,
- Preference pref) {
- if (pref == null)
- return;
-
- if (pref instanceof ListPreference) {
- pref.setTitle (((ListPreference) pref).getEntry());
- } else if (pref instanceof SliderPreference) {
- float v = ((SliderPreference) pref).getValue();
- int i = (int) Math.floor (v);
- if (v == i)
- pref.setSummary (String.valueOf (i));
- else
- pref.setSummary (String.valueOf (v));
- } else if (pref instanceof EditTextPreference) {
- pref.setSummary (((EditTextPreference) pref).getText());
- }
- }
-
- protected void updateAllPrefsSummaries(SharedPreferences prefs) {
-
- Map <String, ?> keys = prefs.getAll();
- for (Map.Entry <String, ?> entry : keys.entrySet()) {
- updatePrefsSummary (prefs, findPreference (entry.getKey()));
- }
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/SliderPreference.java b/android/xscreensaver/src/org/jwz/xscreensaver/SliderPreference.java
deleted file mode 100644
index c1a1a1d..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/SliderPreference.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * A numeric preference as a slider, inline in the preferences list.
- * XML options include:
- *
- * low, high (floats) -- smallest and largest allowed values.
- * If low > high, the value increases as the slider's thumb moves left.
- *
- * lowLabel, highLabel (strings) -- labels shown at the left and right
- * ends of the slider.
- *
- * integral (boolean) -- whether to use whole numbers instead of floats;
- */
-
-package org.jwz.xscreensaver;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.content.res.Resources;
-import android.preference.Preference;
-import android.util.AttributeSet;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.SeekBar;
-import android.widget.TextView;
-import android.util.Log;
-
-public class SliderPreference extends Preference {
-
- protected float low, high;
- protected String low_label, high_label;
- protected boolean integral;
- protected float mValue;
- protected int seekbar_ticks;
-
- public SliderPreference(Context context, AttributeSet attrs) {
- this (context, attrs, 0);
- }
-
- public SliderPreference (Context context, AttributeSet attrs, int defStyle) {
- super (context, attrs, defStyle);
-
- Resources res = context.getResources();
-
- // Parse these from the "<SliderPreference>" tag
- low = Float.parseFloat (attrs.getAttributeValue (null, "low"));
- high = Float.parseFloat (attrs.getAttributeValue (null, "high"));
- integral = attrs.getAttributeBooleanValue (null, "integral", false);
- low_label = res.getString(
- attrs.getAttributeResourceValue (null, "lowLabel", 0));
- high_label = res.getString(
- attrs.getAttributeResourceValue (null, "highLabel", 0));
-
- seekbar_ticks = (integral
- ? (int) Math.floor (Math.abs (high - low))
- : 100000);
-
- setWidgetLayoutResource (R.layout.slider_preference);
- }
-
-
- @Override
- protected void onSetInitialValue (boolean restore, Object def) {
- if (restore) {
- mValue = getPersistedFloat (low);
- } else {
- mValue = (Float) def;
- persistFloat (mValue);
- }
- //Log.d("xscreensaver", String.format("SLIDER INIT %s: %f",
- // low_label, mValue));
- }
-
- @Override
- protected Object onGetDefaultValue(TypedArray a, int index) {
- return a.getFloat (index, low);
- }
-
-
- public float getValue() {
- return mValue;
- }
-
- public void setValue (float value) {
-
- if (low < high) {
- value = Math.max (low, Math.min (high, value));
- } else {
- value = Math.max (high, Math.min (low, value));
- }
-
- if (integral)
- value = Math.round (value);
-
- if (value != mValue) {
- //Log.d("xscreensaver", String.format("SLIDER %s: %f", low_label, value));
- persistFloat (value);
- mValue = value;
- notifyChanged();
- }
- }
-
-
- @Override
- protected View onCreateView (ViewGroup parent) {
- View view = super.onCreateView(parent);
-
- TextView low_view = (TextView)
- view.findViewById (R.id.slider_preference_low);
- low_view.setText (low_label);
-
- TextView high_view = (TextView)
- view.findViewById (R.id.slider_preference_high);
- high_view.setText (high_label);
-
- SeekBar seekbar = (SeekBar)
- view.findViewById (R.id.slider_preference_seekbar);
- seekbar.setMax (seekbar_ticks);
-
- float ratio = (mValue - low) / (high - low);
- int seek_value = (int) (ratio * (float) seekbar_ticks);
-
- seekbar.setProgress (seek_value);
-
- final SliderPreference slider = this;
-
- seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onProgressChanged (SeekBar seekBar, int progress,
- boolean fromUser) {
- if (fromUser) {
- float ratio = (float) progress / (float) seekbar_ticks;
- float value = low + (ratio * (high - low));
- slider.setValue (value);
- callChangeListener (progress);
- }
- }
- });
-
- return view;
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/TTFAnalyzer.java b/android/xscreensaver/src/org/jwz/xscreensaver/TTFAnalyzer.java
deleted file mode 100644
index 3d01345..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/TTFAnalyzer.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
- * Copyright (C) 2011 George Yunaev @ Ulduzsoft
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
-
- http://www.ulduzsoft.com/2012/01/enumerating-the-fonts-on-android-platform/
- */
-
-package org.jwz.xscreensaver;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.HashMap;
-
-// The class which loads the TTF file, parses it and returns the TTF font name
-class TTFAnalyzer
-{
- // This function parses the TTF file and returns the font name specified in the file
- public String getTtfFontName( String fontFilename )
- {
- try
- {
- // Parses the TTF file format.
- // See http://developer.apple.com/fonts/ttrefman/rm06/Chap6.html
- m_file = new RandomAccessFile( fontFilename, "r" );
-
- // Read the version first
- int version = readDword();
-
- // The version must be either 'true' (0x74727565) or 0x00010000 or 'OTTO' (0x4f54544f) for CFF style fonts.
- if ( version != 0x74727565 && version != 0x00010000 && version != 0x4f54544f)
- return null;
-
- // The TTF file consist of several sections called "tables", and we need to know how many of them are there.
- int numTables = readWord();
-
- // Skip the rest in the header
- readWord(); // skip searchRange
- readWord(); // skip entrySelector
- readWord(); // skip rangeShift
-
- // Now we can read the tables
- for ( int i = 0; i < numTables; i++ )
- {
- // Read the table entry
- int tag = readDword();
- readDword(); // skip checksum
- int offset = readDword();
- int length = readDword();
-
- // Now here' the trick. 'name' field actually contains the textual string name.
- // So the 'name' string in characters equals to 0x6E616D65
- if ( tag == 0x6E616D65 )
- {
- // Here's the name section. Read it completely into the allocated buffer
- byte[] table = new byte[ length ];
-
- m_file.seek( offset );
- read( table );
-
- // This is also a table. See http://developer.apple.com/fonts/ttrefman/rm06/Chap6name.html
- // According to Table 36, the total number of table records is stored in the second word, at the offset 2.
- // Getting the count and string offset - remembering it's big endian.
- int count = getWord( table, 2 );
- int string_offset = getWord( table, 4 );
-
- // Record starts from offset 6
- for ( int record = 0; record < count; record++ )
- {
- // Table 37 tells us that each record is 6 words -> 12 bytes, and that the nameID is 4th word so its offset is 6.
- // We also need to account for the first 6 bytes of the header above (Table 36), so...
- int nameid_offset = record * 12 + 6;
- int platformID = getWord( table, nameid_offset );
- int nameid_value = getWord( table, nameid_offset + 6 );
-
- // Table 42 lists the valid name Identifiers. We're interested in 4 but not in Unicode encoding (for simplicity).
- // The encoding is stored as PlatformID and we're interested in Mac encoding
- if ( nameid_value == 4 && platformID == 1 )
- {
- // We need the string offset and length, which are the word 6 and 5 respectively
- int name_length = getWord( table, nameid_offset + 8 );
- int name_offset = getWord( table, nameid_offset + 10 );
-
- // The real name string offset is calculated by adding the string_offset
- name_offset = name_offset + string_offset;
-
- // Make sure it is inside the array
- if ( name_offset >= 0 && name_offset + name_length < table.length )
- return new String( table, name_offset, name_length );
- }
- }
- }
- }
-
- return null;
- }
- catch (FileNotFoundException e)
- {
- // Permissions?
- return null;
- }
- catch (IOException e)
- {
- // Most likely a corrupted font file
- return null;
- }
- }
-
- // Font file; must be seekable
- private RandomAccessFile m_file = null;
-
- // Helper I/O functions
- private int readByte() throws IOException
- {
- return m_file.read() & 0xFF;
- }
-
- private int readWord() throws IOException
- {
- int b1 = readByte();
- int b2 = readByte();
-
- return b1 << 8 | b2;
- }
-
- private int readDword() throws IOException
- {
- int b1 = readByte();
- int b2 = readByte();
- int b3 = readByte();
- int b4 = readByte();
-
- return b1 << 24 | b2 << 16 | b3 << 8 | b4;
- }
-
- private void read( byte [] array ) throws IOException
- {
- if ( m_file.read( array ) != array.length )
- throw new IOException();
- }
-
- // Helper
- private int getWord( byte [] array, int offset )
- {
- int b1 = array[ offset ] & 0xFF;
- int b2 = array[ offset + 1 ] & 0xFF;
-
- return b1 << 8 | b2;
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/TVActivity.java b/android/xscreensaver/src/org/jwz/xscreensaver/TVActivity.java
deleted file mode 100644
index 0015c9d..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/TVActivity.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * xscreensaver, Copyright (c) 2017 Jamie Zawinski <jwz@jwz.org>
- * and Dennis Sheil <dennis@panaceasupplies.com>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * This is the XScreenSaver "application" that just brings up the
- * Daydream preferences for Android TV.
- */
-
-package org.jwz.xscreensaver;
-
-import android.app.Activity;
-import android.app.WallpaperManager;
-import android.content.ComponentName;
-import android.content.Intent;
-import android.os.Build;
-import android.os.Bundle;
-import android.view.View;
-import android.provider.Settings;
-
-public class TVActivity extends Activity
- implements View.OnClickListener {
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_tv_xscreensaver);
- findViewById(R.id.apply_daydream).setOnClickListener(this);
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
-
- case R.id.apply_daydream:
- String action;
- Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
- startActivityForResult(intent, 0);
- break;
- }
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/Wallpaper.java b/android/xscreensaver/src/org/jwz/xscreensaver/Wallpaper.java
deleted file mode 100644
index 93896f2..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/Wallpaper.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016-2018 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * The superclass of every saver's Wallpaper.
- *
- * Each Wallpaper needs a distinct subclass in order to show up in the list.
- * We know which saver we are running by the subclass name; we know which
- * API to use by how the subclass calls super().
- */
-
-package org.jwz.xscreensaver;
-
-import android.content.res.Configuration;
-import android.service.wallpaper.WallpaperService;
-import android.view.GestureDetector;
-import android.view.SurfaceHolder;
-import android.util.Log;
-import java.lang.RuntimeException;
-import java.lang.Thread;
-import org.jwz.xscreensaver.jwxyz;
-import android.graphics.PixelFormat;
-import android.view.WindowManager;
-import android.view.Display;
-import android.graphics.Point;
-
-public class Wallpaper extends WallpaperService
-/*implements GestureDetector.OnGestureListener,
- GestureDetector.OnDoubleTapListener, */ {
-
- /* TODO: Input! */
- private Engine engine;
-
- @Override
- public Engine onCreateEngine() {
- // Log.d("xscreensaver", "tid = " + Thread.currentThread().getId());
- engine = new XScreenSaverGLEngine();
- return engine;
- }
-
- @Override
- public void onConfigurationChanged(Configuration config) {
- super.onConfigurationChanged(config);
- Log.d("xscreensaver", "wallpaper onConfigurationChanged");
- /*
- WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
- Display display = wm.getDefaultDisplay();
- Point size = new Point();
- display.getSize(size);
- int width = size.x;
- int height = size.y;
- engine.onSurfaceChanged(engine.getSurfaceHolder(), PixelFormat.RGBA_8888, width, height);
- */
-
- }
-
- class XScreenSaverGLEngine extends Engine {
-
- private boolean initTried = false;
- private jwxyz jwxyz_obj;
-
- @Override
- public void onSurfaceCreated (SurfaceHolder holder) {
- super.onSurfaceCreated(holder);
-
- if (!initTried) {
- initTried = true;
- } else {
- if (jwxyz_obj != null) {
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
- }
- }
-
- @Override
- public void onVisibilityChanged(final boolean visible) {
- if (jwxyz_obj != null) {
- if (visible)
- jwxyz_obj.start();
- else
- jwxyz_obj.pause();
- }
- }
-
- @Override
- public void onSurfaceChanged (SurfaceHolder holder, int format,
- int width, int height) {
-
- super.onSurfaceChanged(holder, format, width, height);
-
- if (width == 0 || height == 0) {
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
-
- Log.d ("xscreensaver",
- String.format("surfaceChanged: %dx%d", width, height));
-
- if (jwxyz_obj == null) {
- jwxyz_obj = new jwxyz (jwxyz.saverNameOf(Wallpaper.this),
- Wallpaper.this, null, width, height,
- holder.getSurface(), null);
- } else {
- jwxyz_obj.resize (width, height);
- }
-
- jwxyz_obj.start();
- }
-
- @Override
- public void onSurfaceDestroyed (SurfaceHolder holder) {
- super.onSurfaceDestroyed (holder);
-
- if (jwxyz_obj != null) {
- jwxyz_obj.close();
- jwxyz_obj = null;
- }
- }
- }
-}
diff --git a/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java b/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java
deleted file mode 100644
index a22a26d..0000000
--- a/android/xscreensaver/src/org/jwz/xscreensaver/jwxyz.java
+++ /dev/null
@@ -1,1115 +0,0 @@
-/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- * xscreensaver, Copyright (c) 2016-2018 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * This class is how the C implementation of jwxyz calls back into Java
- * to do things that OpenGL does not have access to without Java-based APIs.
- * It is the Java companion to jwxyz-android.c and screenhack-android.c.
- */
-
-package org.jwz.xscreensaver;
-
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.ArrayList;
-import java.util.Random;
-import android.app.AlertDialog;
-import android.view.KeyEvent;
-import android.content.SharedPreferences;
-import android.content.Context;
-import android.content.ContentResolver;
-import android.content.DialogInterface;
-import android.content.res.AssetManager;
-import android.graphics.Typeface;
-import android.graphics.Rect;
-import android.graphics.Paint;
-import android.graphics.Paint.FontMetrics;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.net.Uri;
-import android.view.GestureDetector;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-import java.net.URL;
-import java.nio.ByteBuffer;
-import java.io.File;
-import java.io.InputStream;
-import java.io.FileOutputStream;
-import java.lang.InterruptedException;
-import java.lang.Runnable;
-import java.lang.Thread;
-import java.util.TimerTask;
-import android.database.Cursor;
-import android.provider.MediaStore;
-import android.provider.MediaStore.MediaColumns;
-import android.media.ExifInterface;
-import org.jwz.xscreensaver.TTFAnalyzer;
-import android.util.Log;
-import android.view.Surface;
-import android.Manifest;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.os.Build;
-import android.content.pm.PackageManager;
-
-public class jwxyz
- implements GestureDetector.OnGestureListener,
- GestureDetector.OnDoubleTapListener {
-
- private class PrefListener
- implements SharedPreferences.OnSharedPreferenceChangeListener {
-
- @Override
- public void onSharedPreferenceChanged (SharedPreferences sharedPreferences, String key)
- {
- if (key.startsWith(hack + "_")) {
- if (render != null) {
- boolean was_animating;
- synchronized (render) {
- was_animating = animating_p;
- }
- close();
- if (was_animating)
- start();
- }
- }
- }
- };
-
- private static class SurfaceLost extends Exception {
- SurfaceLost () {
- super("surface lost");
- }
-
- SurfaceLost (String detailMessage) {
- super(detailMessage);
- }
- }
-
- public final static int STYLE_BOLD = 1;
- public final static int STYLE_ITALIC = 2;
- public final static int STYLE_MONOSPACE = 4;
-
- public final static int FONT_FAMILY = 0;
- public final static int FONT_FACE = 1;
- public final static int FONT_RANDOM = 2;
-
- public final static int MY_REQ_READ_EXTERNAL_STORAGE = 271828;
-
- private long nativeRunningHackPtr;
-
- private String hack;
- private Context app;
- private Bitmap screenshot;
-
- SharedPreferences prefs;
- SharedPreferences.OnSharedPreferenceChangeListener pref_listener;
- Hashtable<String, String> defaults = new Hashtable<String, String>();
-
-
- // Maps font names to either: String (system font) or Typeface (bundled).
- private Hashtable<String, Object> all_fonts =
- new Hashtable<String, Object>();
-
- int width, height;
- Surface surface;
- boolean animating_p;
-
- // Doubles as the mutex controlling width/height/animating_p.
- private Thread render;
-
- private Runnable on_quit;
- boolean button_down_p;
-
- // These are defined in jwxyz-android.c:
- //
- private native long nativeInit (String hack,
- Hashtable<String,String> defaults,
- int w, int h, Surface window)
- throws SurfaceLost;
- private native void nativeResize (int w, int h, double rot);
- private native long nativeRender ();
- private native void nativeDone ();
- public native void sendButtonEvent (int x, int y, boolean down);
- public native void sendMotionEvent (int x, int y);
- public native void sendKeyEvent (boolean down_p, int code, int mods);
-
- private void LOG (String fmt, Object... args) {
- Log.d ("xscreensaver", hack + ": " + String.format (fmt, args));
- }
-
- static public String saverNameOf (Object obj) {
- // Extract the saver name from e.g. "gen.Daydream$BouncingCow"
- String name = obj.getClass().getSimpleName();
- int index = name.lastIndexOf('$');
- if (index != -1) {
- index++;
- name = name.substring (index, name.length() - index);
- }
- return name.toLowerCase();
- }
-
- // Constructor
- public jwxyz (String hack, Context app, Bitmap screenshot, int w, int h,
- Surface surface, Runnable on_quit) {
-
- this.hack = hack;
- this.app = app;
- this.screenshot = screenshot;
- this.on_quit = on_quit;
- this.width = w;
- this.height = h;
- this.surface = surface;
-
- // nativeInit populates 'defaults' with the default values for keys
- // that are not overridden by SharedPreferences.
-
- prefs = app.getSharedPreferences (hack, 0);
-
- // Keep a strong reference to pref_listener, because
- // registerOnSharedPreferenceChangeListener only uses a weak reference.
- pref_listener = new PrefListener();
- prefs.registerOnSharedPreferenceChangeListener (pref_listener);
-
- scanSystemFonts();
- }
-
- protected void finalize() {
- if (render != null) {
- LOG ("jwxyz finalized without close. This might be OK.");
- close();
- }
- }
-
-
- public String getStringResource (String name) {
-
- name = hack + "_" + name;
-
- if (prefs.contains(name)) {
-
- // SharedPreferences is very picky that you request the exact type that
- // was stored: if it is a float and you ask for a string, you get an
- // exception instead of the float converted to a string.
-
- String s = null;
- try { return prefs.getString (name, "");
- } catch (Exception e) { }
-
- try { return Float.toString (prefs.getFloat (name, 0));
- } catch (Exception e) { }
-
- try { return Long.toString (prefs.getLong (name, 0));
- } catch (Exception e) { }
-
- try { return Integer.toString (prefs.getInt (name, 0));
- } catch (Exception e) { }
-
- try { return (prefs.getBoolean (name, false) ? "true" : "false");
- } catch (Exception e) { }
- }
-
- // If we got to here, it's not in there, so return the default.
- return defaults.get (name);
- }
-
-
- private String mungeFontName (String name) {
- // Roboto-ThinItalic => RobotoThin
- // AndroidCock Regular => AndroidClock
- String tails[] = { "Bold", "Italic", "Oblique", "Regular" };
- for (String tail : tails) {
- String pres[] = { " ", "-", "_", "" };
- for (String pre : pres) {
- int i = name.indexOf(pre + tail);
- if (i > 0) name = name.substring (0, i);
- }
- }
- return name;
- }
-
-
- private void scanSystemFonts() {
-
- // First parse the system font directories for the global fonts.
-
- String[] fontdirs = { "/system/fonts", "/system/font", "/data/fonts" };
- TTFAnalyzer analyzer = new TTFAnalyzer();
- for (String fontdir : fontdirs) {
- File dir = new File(fontdir);
- if (!dir.exists())
- continue;
- File[] files = dir.listFiles();
- if (files == null)
- continue;
-
- for (File file : files) {
- String name = analyzer.getTtfFontName (file.getAbsolutePath());
- if (name == null) {
- // LOG ("unparsable system font: %s", file);
- } else {
- name = mungeFontName (name);
- if (! all_fonts.contains (name)) {
- // LOG ("system font \"%s\" %s", name, file);
- all_fonts.put (name, name);
- }
- }
- }
- }
-
- // Now parse our assets, for our bundled fonts.
-
- AssetManager am = app.getAssets();
- String dir = "fonts";
- String[] files = null;
- try { files = am.list(dir); }
- catch (Exception e) { LOG("listing assets: %s", e.toString()); }
-
- for (String fn : files) {
- String fn2 = dir + "/" + fn;
- Typeface t = Typeface.createFromAsset (am, fn2);
-
- File tmpfile = null;
- try {
- tmpfile = new File(app.getCacheDir(), fn);
- if (tmpfile.createNewFile() == false) {
- tmpfile.delete();
- tmpfile.createNewFile();
- }
-
- InputStream in = am.open (fn2);
- FileOutputStream out = new FileOutputStream (tmpfile);
- byte[] buffer = new byte[1024 * 512];
- while (in.read(buffer, 0, 1024 * 512) != -1) {
- out.write(buffer);
- }
- out.close();
- in.close();
-
- String name = analyzer.getTtfFontName (tmpfile.getAbsolutePath());
- tmpfile.delete();
-
- name = mungeFontName (name);
- all_fonts.put (name, t);
- // LOG ("asset font \"%s\" %s", name, fn);
- } catch (Exception e) {
- if (tmpfile != null) tmpfile.delete();
- LOG ("error: %s", e.toString());
- }
- }
- }
-
-
- // Parses family names from X Logical Font Descriptions, including a few
- // standard X font names that aren't handled by try_xlfd_font().
- // Returns [ String name, Typeface ]
- private Object[] parseXLFD (int mask, int traits,
- String name, int name_type) {
- boolean fixed = false;
- boolean serif = false;
-
- int style_jwxyz = mask & traits;
-
- if (name_type != FONT_RANDOM) {
- if ((style_jwxyz & STYLE_BOLD) != 0 ||
- name.equals("fixed") ||
- name.equals("courier") ||
- name.equals("console") ||
- name.equals("lucidatypewriter") ||
- name.equals("monospace")) {
- fixed = true;
- } else if (name.equals("times") ||
- name.equals("georgia") ||
- name.equals("serif")) {
- serif = true;
- } else if (name.equals("serif-monospace")) {
- fixed = true;
- serif = true;
- }
- } else {
- Random r = new Random();
- serif = r.nextBoolean(); // Not much to randomize here...
- fixed = (r.nextInt(8) == 0);
- }
-
- name = (fixed
- ? (serif ? "serif-monospace" : "monospace")
- : (serif ? "serif" : "sans-serif"));
-
- int style_android = 0;
- if ((style_jwxyz & STYLE_BOLD) != 0)
- style_android |= Typeface.BOLD;
- if ((style_jwxyz & STYLE_ITALIC) != 0)
- style_android |= Typeface.ITALIC;
-
- return new Object[] { name, Typeface.create(name, style_android) };
- }
-
-
- // Parses "Native Font Name One 12, Native Font Name Two 14".
- // Returns [ String name, Typeface ]
- private Object[] parseNativeFont (String name) {
- Object font2 = all_fonts.get (name);
- if (font2 instanceof String)
- font2 = Typeface.create (name, Typeface.NORMAL);
- return new Object[] { name, (Typeface)font2 };
- }
-
-
- // Returns [ Paint paint, String family_name, Float ascent, Float descent ]
- public Object[] loadFont(int mask, int traits, String name, int name_type,
- float size) {
- Object pair[];
-
- if (name_type != FONT_RANDOM && name.equals("")) return null;
-
- if (name_type == FONT_FACE) {
- pair = parseNativeFont (name);
- } else {
- pair = parseXLFD (mask, traits, name, name_type);
- }
-
- String name2 = (String) pair[0];
- Typeface font = (Typeface) pair[1];
-
- size *= 2;
-
- String suffix = (font.isBold() && font.isItalic() ? " bold italic" :
- font.isBold() ? " bold" :
- font.isItalic() ? " italic" :
- "");
- Paint paint = new Paint();
- paint.setTypeface (font);
- paint.setTextSize (size);
- paint.setColor (Color.argb (0xFF, 0xFF, 0xFF, 0xFF));
-
- LOG ("load font \"%s\" = \"%s %.1f\"", name, name2 + suffix, size);
-
- FontMetrics fm = paint.getFontMetrics();
- return new Object[] { paint, name2, -fm.ascent, fm.descent };
- }
-
-
- /* Returns a byte[] array containing XCharStruct with an optional
- bitmap appended to it.
- lbearing, rbearing, width, ascent, descent: 2 bytes each.
- Followed by a WxH pixmap, 32 bits per pixel.
- */
- public ByteBuffer renderText (Paint paint, String text, boolean render_p,
- boolean antialias_p) {
-
- if (paint == null) {
- LOG ("no font");
- return null;
- }
-
- /* Font metric terminology, as used by X11:
-
- "lbearing" is the distance from the logical origin to the leftmost
- pixel. If a character's ink extends to the left of the origin, it is
- negative.
-
- "rbearing" is the distance from the logical origin to the rightmost
- pixel.
-
- "descent" is the distance from the logical origin to the bottommost
- pixel. For characters with descenders, it is positive. For
- superscripts, it is negative.
-
- "ascent" is the distance from the logical origin to the topmost pixel.
- It is the number of pixels above the baseline.
-
- "width" is the distance from the logical origin to the position where
- the logical origin of the next character should be placed.
-
- If "rbearing" is greater than "width", then this character overlaps the
- following character. If smaller, then there is trailing blank space.
-
- The bbox coordinates returned by getTextBounds grow down and right:
- for a character with ink both above and below the baseline, top is
- negative and bottom is positive.
- */
- paint.setAntiAlias (antialias_p);
- FontMetrics fm = paint.getFontMetrics();
- Rect bbox = new Rect();
- paint.getTextBounds (text, 0, text.length(), bbox);
-
- /* The bbox returned by getTextBounds measures from the logical origin
- with right and down being positive. This means most characters have
- a negative top, and characters with descenders have a positive bottom.
- */
- int lbearing = bbox.left;
- int rbearing = bbox.right;
- int ascent = -bbox.top;
- int descent = bbox.bottom;
- int width = (int) paint.measureText (text);
-
- int w = rbearing - lbearing;
- int h = ascent + descent;
- int size = 5 * 2 + (render_p ? w * h * 4 : 0);
-
- ByteBuffer bits = ByteBuffer.allocateDirect (size);
-
- bits.put ((byte) ((lbearing >> 8) & 0xFF));
- bits.put ((byte) ( lbearing & 0xFF));
- bits.put ((byte) ((rbearing >> 8) & 0xFF));
- bits.put ((byte) ( rbearing & 0xFF));
- bits.put ((byte) ((width >> 8) & 0xFF));
- bits.put ((byte) ( width & 0xFF));
- bits.put ((byte) ((ascent >> 8) & 0xFF));
- bits.put ((byte) ( ascent & 0xFF));
- bits.put ((byte) ((descent >> 8) & 0xFF));
- bits.put ((byte) ( descent & 0xFF));
-
- if (render_p && w > 0 && h > 0) {
- Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas (bitmap);
- canvas.drawText (text, -lbearing, ascent, paint);
- bitmap.copyPixelsToBuffer (bits);
- bitmap.recycle();
- }
-
- return bits;
- }
-
-
- /* Returns the contents of the URL.
- Loads the URL in a background thread: if the URL has not yet loaded,
- this will return null. Once the URL has completely loaded, the full
- contents will be returned. Calling this again after that starts the
- URL loading again.
- */
- private String loading_url = null;
- private ByteBuffer loaded_url_body = null;
-
- public synchronized ByteBuffer loadURL (String url) {
-
- if (loaded_url_body != null) { // Thread finished
-
- // LOG ("textclient finished %s", loading_url);
-
- ByteBuffer bb = loaded_url_body;
- loading_url = null;
- loaded_url_body = null;
- return bb;
-
- } else if (loading_url != null) { // Waiting on thread
- // LOG ("textclient waiting...");
- return null;
-
- } else { // Launch thread
-
- loading_url = url;
- LOG ("textclient launching %s...", url);
-
- new Thread (new Runnable() {
- public void run() {
- int size0 = 10240;
- int size = size0;
- int count = 0;
- ByteBuffer body = ByteBuffer.allocateDirect (size);
-
- try {
- URL u = new URL (loading_url);
- // LOG ("textclient thread loading: %s", u.toString());
- InputStream s = u.openStream();
- byte buf[] = new byte[10240];
- while (true) {
- int n = s.read (buf);
- if (n == -1) break;
- // LOG ("textclient thread read %d", n);
- if (count + n + 1 >= size) {
- int size2 = (int) (size * 1.2 + size0);
- // LOG ("textclient thread expand %d -> %d", size, size2);
- ByteBuffer body2 = ByteBuffer.allocateDirect (size2);
- body.rewind();
- body2.put (body);
- body2.position (count);
- body = body2;
- size = size2;
- }
- body.put (buf, 0, n);
- count += n;
- }
- } catch (Exception e) {
- LOG ("load URL error: %s", e.toString());
- body.clear();
- body.put (e.toString().getBytes());
- body.put ((byte) 0);
- }
-
- // LOG ("textclient thread finished %s (%d)", loading_url, size);
- loaded_url_body = body;
- }
- }).start();
-
- return null;
- }
- }
-
-
- // Returns [ Bitmap bitmap, String name ]
- private Object[] convertBitmap (String name, Bitmap bitmap,
- int target_width, int target_height,
- ExifInterface exif, boolean rotate_p) {
- if (bitmap == null) return null;
-
- {
-
- int width = bitmap.getWidth();
- int height = bitmap.getHeight();
- Matrix matrix = new Matrix();
-
- LOG ("read image %s: %d x %d", name, width, height);
-
- // First rotate the image as per EXIF.
-
- if (exif != null) {
- int deg = 0;
- switch (exif.getAttributeInt (ExifInterface.TAG_ORIENTATION,
- ExifInterface.ORIENTATION_NORMAL)) {
- case ExifInterface.ORIENTATION_ROTATE_90: deg = 90; break;
- case ExifInterface.ORIENTATION_ROTATE_180: deg = 180; break;
- case ExifInterface.ORIENTATION_ROTATE_270: deg = 270; break;
- }
- if (deg != 0) {
- LOG ("%s: EXIF rotate %d", name, deg);
- matrix.preRotate (deg);
- if (deg == 90 || deg == 270) {
- int temp = width;
- width = height;
- height = temp;
- }
- }
- }
-
- // If the caller requested that we rotate the image to best fit the
- // screen, rotate it again.
-
- if (rotate_p &&
- (width > height) != (target_width > target_height)) {
- LOG ("%s: rotated to fit screen", name);
- matrix.preRotate (90);
-
- int temp = width;
- width = height;
- height = temp;
- }
-
- // Resize the image to be not larger than the screen, potentially
- // copying it for the third time.
- // Actually, always scale it, scaling up if necessary.
-
-// if (width > target_width || height > target_height)
- {
- float r1 = target_width / (float) width;
- float r2 = target_height / (float) height;
- float r = (r1 > r2 ? r2 : r1);
- LOG ("%s: resize %.1f: %d x %d => %d x %d", name,
- r, width, height, (int) (width * r), (int) (height * r));
- matrix.preScale (r, r);
- }
-
- bitmap = Bitmap.createBitmap (bitmap, 0, 0,
- bitmap.getWidth(), bitmap.getHeight(),
- matrix, true);
-
- if (bitmap.getConfig() != Bitmap.Config.ARGB_8888)
- bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, false);
-
- return new Object[] { bitmap, name };
-
- }
- }
-
-
- boolean havePermission(String permission) {
-
- if (Build.VERSION.SDK_INT < 16) {
- return true;
- }
-
- if (permissionGranted(permission)) {
- return true;
- }
-
- return false;
- }
-
-
- private boolean permissionGranted(String permission) {
- boolean check = ContextCompat.checkSelfPermission(app, permission) ==
- PackageManager.PERMISSION_GRANTED;
- return check;
- }
-
- public Object[] checkThenLoadRandomImage (int target_width, int target_height,
- boolean rotate_p) {
- // RES introduced in API 16
- String permission = Manifest.permission.READ_EXTERNAL_STORAGE;
-
- if (havePermission(permission)) {
- return loadRandomImage(target_width,target_height,rotate_p);
- } else {
- return null;
- }
- }
-
- public Object[] loadRandomImage (int target_width, int target_height,
- boolean rotate_p) {
-
- int min_size = 480;
- int max_size = 0x7FFF;
-
- ArrayList<String> imgs = new ArrayList<String>();
-
- ContentResolver cr = app.getContentResolver();
- String[] cols = { MediaColumns.DATA,
- MediaColumns.MIME_TYPE,
- MediaColumns.WIDTH,
- MediaColumns.HEIGHT };
- Uri uris[] = {
- android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI,
- android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI };
-
- for (int i = 0; i < uris.length; i++) {
- Cursor cursor = cr.query (uris[i], cols, null, null, null);
- if (cursor == null)
- continue;
- int j = 0;
- int path_col = cursor.getColumnIndexOrThrow (cols[j++]);
- int type_col = cursor.getColumnIndexOrThrow (cols[j++]);
- int width_col = cursor.getColumnIndexOrThrow (cols[j++]);
- int height_col = cursor.getColumnIndexOrThrow (cols[j++]);
- while (cursor.moveToNext()) {
- String path = cursor.getString(path_col);
- String type = cursor.getString(type_col);
- if (path != null && type != null && type.startsWith("image/")) {
- String wc = cursor.getString(width_col);
- String hc = cursor.getString(height_col);
- if (wc != null && hc != null) {
- int w = Integer.parseInt (wc);
- int h = Integer.parseInt (hc);
- if (w > min_size && h > min_size &&
- w < max_size && h < max_size) {
- imgs.add (path);
- }
- }
- }
- }
- cursor.close();
- }
-
- String which = null;
-
- int count = imgs.size();
- if (count == 0) {
- LOG ("no images");
- return null;
- }
-
- int i = new Random().nextInt (count);
- which = imgs.get (i);
- LOG ("picked image %d of %d: %s", i, count, which);
-
- Uri uri = Uri.fromFile (new File (which));
- String name = uri.getLastPathSegment();
- Bitmap bitmap = null;
- ExifInterface exif = null;
-
- try {
- try {
- bitmap = MediaStore.Images.Media.getBitmap (cr, uri);
- } catch (Exception e) {
- LOG ("image %s unloadable: %s", which, e.toString());
- return null;
- }
-
- try {
- exif = new ExifInterface (uri.getPath()); // If it fails, who cares
- } catch (Exception e) {
- }
-
- return convertBitmap (name, bitmap, target_width, target_height,
- exif, rotate_p);
- } catch (java.lang.OutOfMemoryError e) {
- LOG ("image %s got OutOfMemoryError: %s", which, e.toString());
- return null;
- }
- }
-
-
- public Object[] getScreenshot (int target_width, int target_height,
- boolean rotate_p) {
- return convertBitmap ("Screenshot", screenshot,
- target_width, target_height,
- null, rotate_p);
- }
-
-
- public Bitmap decodePNG (byte[] data) {
- BitmapFactory.Options opts = new BitmapFactory.Options();
- opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
- return BitmapFactory.decodeByteArray (data, 0, data.length, opts);
- }
-
-
- // Sadly duplicated from jwxyz.h (and thence X.h and keysymdef.h)
- //
- private static final int ShiftMask = (1<<0);
- private static final int LockMask = (1<<1);
- private static final int ControlMask = (1<<2);
- private static final int Mod1Mask = (1<<3);
- private static final int Mod2Mask = (1<<4);
- private static final int Mod3Mask = (1<<5);
- private static final int Mod4Mask = (1<<6);
- private static final int Mod5Mask = (1<<7);
- private static final int Button1Mask = (1<<8);
- private static final int Button2Mask = (1<<9);
- private static final int Button3Mask = (1<<10);
- private static final int Button4Mask = (1<<11);
- private static final int Button5Mask = (1<<12);
-
- private static final int XK_Shift_L = 0xFFE1;
- private static final int XK_Shift_R = 0xFFE2;
- private static final int XK_Control_L = 0xFFE3;
- private static final int XK_Control_R = 0xFFE4;
- private static final int XK_Caps_Lock = 0xFFE5;
- private static final int XK_Shift_Lock = 0xFFE6;
- private static final int XK_Meta_L = 0xFFE7;
- private static final int XK_Meta_R = 0xFFE8;
- private static final int XK_Alt_L = 0xFFE9;
- private static final int XK_Alt_R = 0xFFEA;
- private static final int XK_Super_L = 0xFFEB;
- private static final int XK_Super_R = 0xFFEC;
- private static final int XK_Hyper_L = 0xFFED;
- private static final int XK_Hyper_R = 0xFFEE;
-
- private static final int XK_Home = 0xFF50;
- private static final int XK_Left = 0xFF51;
- private static final int XK_Up = 0xFF52;
- private static final int XK_Right = 0xFF53;
- private static final int XK_Down = 0xFF54;
- private static final int XK_Prior = 0xFF55;
- private static final int XK_Page_Up = 0xFF55;
- private static final int XK_Next = 0xFF56;
- private static final int XK_Page_Down = 0xFF56;
- private static final int XK_End = 0xFF57;
- private static final int XK_Begin = 0xFF58;
-
- private static final int XK_F1 = 0xFFBE;
- private static final int XK_F2 = 0xFFBF;
- private static final int XK_F3 = 0xFFC0;
- private static final int XK_F4 = 0xFFC1;
- private static final int XK_F5 = 0xFFC2;
- private static final int XK_F6 = 0xFFC3;
- private static final int XK_F7 = 0xFFC4;
- private static final int XK_F8 = 0xFFC5;
- private static final int XK_F9 = 0xFFC6;
- private static final int XK_F10 = 0xFFC7;
- private static final int XK_F11 = 0xFFC8;
- private static final int XK_F12 = 0xFFC9;
-
- public void sendKeyEvent (KeyEvent event) {
- int uc = event.getUnicodeChar();
- int jcode = event.getKeyCode();
- int jmods = event.getModifiers();
- int xcode = 0;
- int xmods = 0;
-
- switch (jcode) {
- case KeyEvent.KEYCODE_SHIFT_LEFT: xcode = XK_Shift_L; break;
- case KeyEvent.KEYCODE_SHIFT_RIGHT: xcode = XK_Shift_R; break;
- case KeyEvent.KEYCODE_CTRL_LEFT: xcode = XK_Control_L; break;
- case KeyEvent.KEYCODE_CTRL_RIGHT: xcode = XK_Control_R; break;
- case KeyEvent.KEYCODE_CAPS_LOCK: xcode = XK_Caps_Lock; break;
- case KeyEvent.KEYCODE_META_LEFT: xcode = XK_Meta_L; break;
- case KeyEvent.KEYCODE_META_RIGHT: xcode = XK_Meta_R; break;
- case KeyEvent.KEYCODE_ALT_LEFT: xcode = XK_Alt_L; break;
- case KeyEvent.KEYCODE_ALT_RIGHT: xcode = XK_Alt_R; break;
-
- case KeyEvent.KEYCODE_HOME: xcode = XK_Home; break;
- case KeyEvent.KEYCODE_DPAD_LEFT: xcode = XK_Left; break;
- case KeyEvent.KEYCODE_DPAD_UP: xcode = XK_Up; break;
- case KeyEvent.KEYCODE_DPAD_RIGHT: xcode = XK_Right; break;
- case KeyEvent.KEYCODE_DPAD_DOWN: xcode = XK_Down; break;
- //case KeyEvent.KEYCODE_NAVIGATE_PREVIOUS: xcode = XK_Prior; break;
- case KeyEvent.KEYCODE_PAGE_UP: xcode = XK_Page_Up; break;
- //case KeyEvent.KEYCODE_NAVIGATE_NEXT: xcode = XK_Next; break;
- case KeyEvent.KEYCODE_PAGE_DOWN: xcode = XK_Page_Down; break;
- case KeyEvent.KEYCODE_MOVE_END: xcode = XK_End; break;
- case KeyEvent.KEYCODE_MOVE_HOME: xcode = XK_Begin; break;
-
- case KeyEvent.KEYCODE_F1: xcode = XK_F1; break;
- case KeyEvent.KEYCODE_F2: xcode = XK_F2; break;
- case KeyEvent.KEYCODE_F3: xcode = XK_F3; break;
- case KeyEvent.KEYCODE_F4: xcode = XK_F4; break;
- case KeyEvent.KEYCODE_F5: xcode = XK_F5; break;
- case KeyEvent.KEYCODE_F6: xcode = XK_F6; break;
- case KeyEvent.KEYCODE_F7: xcode = XK_F7; break;
- case KeyEvent.KEYCODE_F8: xcode = XK_F8; break;
- case KeyEvent.KEYCODE_F9: xcode = XK_F9; break;
- case KeyEvent.KEYCODE_F10: xcode = XK_F10; break;
- case KeyEvent.KEYCODE_F11: xcode = XK_F11; break;
- case KeyEvent.KEYCODE_F12: xcode = XK_F12; break;
- default: xcode = uc; break;
- }
-
- if (0 != (jmods & KeyEvent.META_SHIFT_ON)) xmods |= ShiftMask;
- if (0 != (jmods & KeyEvent.META_CAPS_LOCK_ON)) xmods |= LockMask;
- if (0 != (jmods & KeyEvent.META_CTRL_MASK)) xmods |= ControlMask;
- if (0 != (jmods & KeyEvent.META_ALT_MASK)) xmods |= Mod1Mask;
- if (0 != (jmods & KeyEvent.META_META_ON)) xmods |= Mod1Mask;
- if (0 != (jmods & KeyEvent.META_SYM_ON)) xmods |= Mod2Mask;
- if (0 != (jmods & KeyEvent.META_FUNCTION_ON)) xmods |= Mod3Mask;
-
- /* If you touch and release Shift, you get no events.
- If you type Shift-A, you get Shift down, A down, A up, Shift up.
- So let's just ignore all lone modifier key events.
- */
- if (xcode >= XK_Shift_L && xcode <= XK_Hyper_R)
- return;
-
- boolean down_p = event.getAction() == KeyEvent.ACTION_DOWN;
- sendKeyEvent (down_p, xcode, xmods);
- }
-
- void start () {
- if (render == null) {
- animating_p = true;
- render = new Thread(new Runnable() {
- @Override
- public void run()
- {
- int currentWidth, currentHeight;
- synchronized (render) {
- while (true) {
- while (!animating_p || width == 0 || height == 0) {
- try {
- render.wait();
- } catch(InterruptedException exc) {
- return;
- }
- }
-
- try {
- nativeInit (hack, defaults, width, height, surface);
- currentWidth = width;
- currentHeight= height;
- break;
- } catch (SurfaceLost exc) {
- width = 0;
- height = 0;
- }
- }
- }
-
- main_loop:
- while (true) {
- synchronized (render) {
- assert width != 0;
- assert height != 0;
- while (!animating_p) {
- try {
- render.wait();
- } catch(InterruptedException exc) {
- break main_loop;
- }
- }
-
- if (currentWidth != width || currentHeight != height) {
- currentWidth = width;
- currentHeight = height;
- nativeResize (width, height, 0);
- }
- }
-
- long delay = nativeRender();
-
- synchronized (render) {
- if (delay != 0) {
- try {
- render.wait(delay / 1000, (int)(delay % 1000) * 1000);
- } catch (InterruptedException exc) {
- break main_loop;
- }
- } else {
- if (Thread.interrupted ()) {
- break main_loop;
- }
- }
- }
- }
-
- assert nativeRunningHackPtr != 0;
- nativeDone ();
- }
- });
-
- render.start();
- } else {
- synchronized(render) {
- animating_p = true;
- render.notify();
- }
- }
- }
-
- void pause () {
- if (render == null)
- return;
- synchronized (render) {
- animating_p = false;
- render.notify();
- }
- }
-
- void close () {
- if (render == null)
- return;
- synchronized (render) {
- animating_p = false;
- render.interrupt();
- }
- try {
- render.join();
- } catch (InterruptedException exc) {
- }
- render = null;
- }
-
- void resize (int w, int h) {
- assert w != 0;
- assert h != 0;
- if (render != null) {
- synchronized (render) {
- width = w;
- height = h;
- render.notify();
- }
- } else {
- width = w;
- height = h;
- }
- }
-
-
- /* We distinguish between taps and drags.
-
- - Drags/pans (down, motion, up) are sent to the saver to handle.
- - Single-taps exit the saver.
- - Long-press single-taps are sent to the saver as ButtonPress/Release;
- - Double-taps are sent to the saver as a "Space" keypress.
-
- #### TODO:
- - Swipes (really, two-finger drags/pans) send Up/Down/Left/RightArrow.
- */
-
- @Override
- public boolean onSingleTapConfirmed (MotionEvent event) {
- if (on_quit != null)
- on_quit.run();
- return true;
- }
-
- @Override
- public boolean onDoubleTap (MotionEvent event) {
- sendKeyEvent (new KeyEvent (KeyEvent.ACTION_DOWN,
- KeyEvent.KEYCODE_SPACE));
- return true;
- }
-
- @Override
- public void onLongPress (MotionEvent event) {
- if (! button_down_p) {
- int x = (int) event.getX (event.getPointerId (0));
- int y = (int) event.getY (event.getPointerId (0));
- sendButtonEvent (x, y, true);
- sendButtonEvent (x, y, false);
- }
- }
-
- @Override
- public void onShowPress (MotionEvent event) {
- if (! button_down_p) {
- button_down_p = true;
- int x = (int) event.getX (event.getPointerId (0));
- int y = (int) event.getY (event.getPointerId (0));
- sendButtonEvent (x, y, true);
- }
- }
-
- @Override
- public boolean onScroll (MotionEvent e1, MotionEvent e2,
- float distanceX, float distanceY) {
- // LOG ("onScroll: %d", button_down_p ? 1 : 0);
- if (button_down_p)
- sendMotionEvent ((int) e2.getX (e2.getPointerId (0)),
- (int) e2.getY (e2.getPointerId (0)));
- return true;
- }
-
- // If you drag too fast, you get a single onFling event instead of a
- // succession of onScroll events. I can't figure out how to disable it.
- @Override
- public boolean onFling (MotionEvent e1, MotionEvent e2,
- float velocityX, float velocityY) {
- return false;
- }
-
- public boolean dragEnded (MotionEvent event) {
- if (button_down_p) {
- int x = (int) event.getX (event.getPointerId (0));
- int y = (int) event.getY (event.getPointerId (0));
- sendButtonEvent (x, y, false);
- button_down_p = false;
- }
- return true;
- }
-
- @Override
- public boolean onDown (MotionEvent event) {
- return false;
- }
-
- @Override
- public boolean onSingleTapUp (MotionEvent event) {
- return false;
- }
-
- @Override
- public boolean onDoubleTapEvent (MotionEvent event) {
- return false;
- }
-
-
- static {
- System.loadLibrary ("xscreensaver");
-
-/*
- Thread.setDefaultUncaughtExceptionHandler(
- new Thread.UncaughtExceptionHandler() {
- Thread.UncaughtExceptionHandler old_handler =
- Thread.currentThread().getUncaughtExceptionHandler();
-
- @Override
- public void uncaughtException (Thread thread, Throwable ex) {
- String err = ex.toString();
- Log.d ("xscreensaver", "Caught exception: " + err);
- old_handler.uncaughtException (thread, ex);
- }
- });
-*/
- }
-}
diff --git a/android/xscreensaver/xscreensaver.iml b/android/xscreensaver/xscreensaver.iml
deleted file mode 100644
index 18e9fb0..0000000
--- a/android/xscreensaver/xscreensaver.iml
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id=":xscreensaver" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
- <component name="FacetManager">
- <facet type="android-gradle" name="Android-Gradle">
- <configuration>
- <option name="GRADLE_PROJECT_PATH" value=":xscreensaver" />
- </configuration>
- </facet>
- <facet type="android" name="Android">
- <configuration>
- <option name="SELECTED_BUILD_VARIANT" value="debug" />
- <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
- <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
- <afterSyncTasks>
- <task>generateDebugSources</task>
- </afterSyncTasks>
- <option name="ALLOW_USER_CONFIGURATION" value="false" />
- <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/res" />
- </configuration>
- </facet>
- </component>
- <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
- <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
- <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" />
- <exclude-output />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/res" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/resources" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/assets" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/aidl" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/rs" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/build-types/debug/shaders" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/res" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/assets" type="java-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/tests/res" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/tests/resources" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/tests/assets" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/tests/aidl" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/tests/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/tests/rs" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/tests/shaders" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaPrecompile" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/splits-support" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
- <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
- <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
- <excludeFolder url="file://$MODULE_DIR$/build/reports" />
- <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
- </content>
- <orderEntry type="jdk" jdkName="Android API 27 Platform" jdkType="Android SDK" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" name="Gradle: com.android.support:support-v4-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-fragment-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-annotations:27.1.1@jar" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.core:runtime-1.1.0" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-compat-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.0" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.0" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-core-ui-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.0@jar" level="project" />
- <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-27.1.1" level="project" />
- <orderEntry type="library" name="Gradle: android.arch.lifecycle:runtime-1.1.0" level="project" />
- </component>
-</module> \ No newline at end of file