├── assets ├── 2048 │ ├── .gitignore │ ├── favicon.ico │ ├── style │ │ ├── night.png │ │ ├── fonts │ │ │ ├── ClearSans-Bold-webfont.eot │ │ │ ├── ClearSans-Bold-webfont.woff │ │ │ ├── ClearSans-Light-webfont.eot │ │ │ ├── ClearSans-Light-webfont.woff │ │ │ ├── ClearSans-Regular-webfont.eot │ │ │ ├── ClearSans-Regular-webfont.woff │ │ │ └── clear-sans.css │ │ ├── helpers.scss │ │ ├── main.scss │ │ └── main.css │ ├── meta │ │ ├── apple-touch-icon.png │ │ ├── apple-touch-startup-image-640x1096.png │ │ └── apple-touch-startup-image-640x920.png │ ├── screenshots │ │ └── screen01.png │ ├── js │ │ ├── application.js │ │ ├── bind_polyfill.js │ │ ├── nightmode.js │ │ ├── tile.js │ │ ├── animframe_polyfill.js │ │ ├── classlist_polyfill.js │ │ ├── grid.js │ │ ├── local_storage_manager.js │ │ ├── keyboard_input_manager.js │ │ ├── html_actuator.js │ │ └── game_manager.js │ ├── Rakefile │ ├── .jshintrc │ ├── LICENSE.txt │ ├── README.md │ ├── CONTRIBUTING.md │ └── index.html └── ADBMobileConfig.json ├── metadata ├── ko │ └── short_description.txt ├── ja │ └── short_description.txt ├── am │ └── short_description.txt ├── lt │ └── short_description.txt ├── ar │ └── short_description.txt ├── hi │ └── short_description.txt ├── vi │ └── short_description.txt ├── bg │ └── short_description.txt ├── lv │ └── short_description.txt ├── th │ └── short_description.txt ├── tr │ └── short_description.txt ├── af │ └── short_description.txt ├── de │ └── short_description.txt ├── en-US │ ├── short_description.txt │ ├── icon.png │ ├── icon_original.png │ ├── promoGraphic.png │ ├── featureGraphic.png │ ├── phoneScreenshots │ │ └── screen1.png │ ├── sevenInchScreenshots │ │ └── screen_tablet.png │ └── full_description.txt ├── et │ └── short_description.txt ├── fr │ └── short_description.txt ├── id │ └── short_description.txt ├── ro │ └── short_description.txt ├── sv │ └── short_description.txt ├── sw │ └── short_description.txt ├── el │ └── short_description.txt ├── fi │ └── short_description.txt ├── pt-BR │ └── short_description.txt ├── pt-PT │ └── short_description.txt ├── ru │ └── short_description.txt ├── uk │ └── short_description.txt ├── ca │ └── short_description.txt ├── es │ └── short_description.txt └── it │ └── short_description.txt ├── ic_launcher-web.png ├── .gitmodules ├── ic_launcher-web_promo.jpg ├── ic_launcher-web_feature.jpg ├── neolane_sdk-1.0.27-debug.aar ├── res ├── mipmap-hdpi │ └── ic_launcher.png ├── mipmap-mdpi │ └── ic_launcher.png ├── mipmap-xhdpi │ └── ic_launcher.png ├── drawable-hdpi │ ├── ic_launcher.png │ └── ic_stat_name.png ├── drawable-mdpi │ ├── ic_launcher.png │ └── ic_stat_name.png ├── drawable-xhdpi │ ├── ic_launcher.png │ └── ic_stat_name.png ├── drawable-xxhdpi │ ├── ic_launcher.png │ └── ic_stat_name.png ├── mipmap-xxhdpi │ └── ic_launcher.png ├── mipmap-xxxhdpi │ └── ic_launcher.png ├── values │ ├── dimens.xml │ ├── styles.xml │ └── strings.xml ├── xml │ ├── network_security_config.xml │ └── changelog_master.xml ├── menu │ └── main.xml ├── values-da │ └── strings.xml ├── values-sw720dp-land │ └── dimens.xml ├── values-ko │ └── strings.xml ├── values-eo │ └── strings.xml ├── values-lt │ └── strings.xml ├── values-pt │ └── strings.xml ├── values-es │ └── strings.xml ├── values-de │ └── strings.xml ├── values-pl │ └── strings.xml ├── values-nl │ └── strings.xml ├── values-ru │ └── strings.xml ├── values-fr │ └── strings.xml ├── values-uk │ └── strings.xml ├── values-el │ └── strings.xml ├── values-sr │ └── strings.xml └── layout │ ├── activity_debug_console.xml │ ├── activity_main.xml │ └── activity_collect_pii.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── AdobeMobileLibrary └── adobeMobileLibrary-4.16.1.jar ├── .travis.yml ├── proguard-project.txt ├── src └── com │ └── adobe │ └── a2048 │ └── example │ ├── AppConfig.java │ ├── service │ └── KeepAppAliveWorker.java │ ├── MyApplication.java │ ├── NotificationDismissedReceiver.java │ ├── DebugConsole.java │ ├── CollectPIIActivity.java │ ├── MainActivity.java │ └── MyFirebaseMessagingService.java ├── LICENSE ├── .gitignore ├── README.md ├── CONTRIBUTING.md ├── AndroidManifest.xml ├── gradlew.bat ├── CODE_OF_CONDUCT.md └── gradlew /assets/2048/.gitignore: -------------------------------------------------------------------------------- 1 | .sass-cache/ 2 | -------------------------------------------------------------------------------- /metadata/ko/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 퍼즐 게임. 이 안드로이드 오픈 소스 포트입니다. -------------------------------------------------------------------------------- /metadata/ja/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048パズルゲーム。これはAndroidのオープンソースのポートです。 -------------------------------------------------------------------------------- /metadata/am/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 እንቆቅልሽ ጨዋታ. ይህ የ Android ክፍት ምንጭ ወደብ ነው. -------------------------------------------------------------------------------- /metadata/lt/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 dėlionė. Tai Android atviro kodo uosto. -------------------------------------------------------------------------------- /metadata/ar/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 لعبة اللغز. هذا هو الروبوت منفذ مفتوح المصدر. -------------------------------------------------------------------------------- /metadata/hi/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 पहेली खेल. इस Android खुला स्रोत बंदरगाह है. -------------------------------------------------------------------------------- /metadata/vi/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Đây là cổng nguồn mở Android. -------------------------------------------------------------------------------- /metadata/bg/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Това е Android с отворен код порт. -------------------------------------------------------------------------------- /metadata/lv/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle spēle. Tas ir android open source portu. -------------------------------------------------------------------------------- /metadata/th/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 เกมปริศนา นี้เป็นพอร์ตเปิดแหล่งที่มาของหุ่นยนต์ -------------------------------------------------------------------------------- /metadata/tr/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Oyunu. Bu android açık kaynak limanıdır. -------------------------------------------------------------------------------- /metadata/af/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 legkaart spel. Dit is die Android open source hawe. -------------------------------------------------------------------------------- /metadata/de/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle-Spiel. Dies ist die Open-Source-Android-Port. -------------------------------------------------------------------------------- /metadata/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. This is the android open source port. -------------------------------------------------------------------------------- /metadata/et/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 puzzle mäng. See on Android avatud lähtekoodiga sadama. -------------------------------------------------------------------------------- /metadata/fr/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Il s'agit du port open source Android. -------------------------------------------------------------------------------- /metadata/id/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Ini adalah android pelabuhan open source. -------------------------------------------------------------------------------- /metadata/ro/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 joc de puzzle. Acesta este portul open source Android. -------------------------------------------------------------------------------- /metadata/sv/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 pusselspel. Detta är den Android öppen källkod port. -------------------------------------------------------------------------------- /metadata/sw/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle michezo. Hii ni android wazi chanzo bandari. -------------------------------------------------------------------------------- /metadata/el/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 παιχνίδι παζλ. Αυτό είναι το Android λιμάνι open source. -------------------------------------------------------------------------------- /metadata/fi/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 pulmapeli. Tämä on Android avoimen lähdekoodin satamaan. -------------------------------------------------------------------------------- /metadata/pt-BR/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Jogo Puzzle. Esta é a porta de código aberto Android. -------------------------------------------------------------------------------- /metadata/pt-PT/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Jogo Puzzle. Esta é a porta de código aberto Android. -------------------------------------------------------------------------------- /metadata/ru/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Это андроид порт с открытым исходным кодом. -------------------------------------------------------------------------------- /metadata/uk/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Це андроїд порт з відкритим вихідним кодом. -------------------------------------------------------------------------------- /ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/ic_launcher-web.png -------------------------------------------------------------------------------- /metadata/ca/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Joc de Trencaclosques. Aquest és el port de codi obert Android. -------------------------------------------------------------------------------- /metadata/es/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Juego de Puzzle. Este es el puerto de código abierto Android. -------------------------------------------------------------------------------- /metadata/it/short_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game. Questa è la versione open source per Android. 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "assets/2048"] 2 | path = assets/2048 3 | url = https://github.com/uberspot/2048.git 4 | -------------------------------------------------------------------------------- /assets/2048/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/favicon.ico -------------------------------------------------------------------------------- /ic_launcher-web_promo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/ic_launcher-web_promo.jpg -------------------------------------------------------------------------------- /metadata/en-US/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/icon.png -------------------------------------------------------------------------------- /assets/2048/style/night.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/night.png -------------------------------------------------------------------------------- /ic_launcher-web_feature.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/ic_launcher-web_feature.jpg -------------------------------------------------------------------------------- /neolane_sdk-1.0.27-debug.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/neolane_sdk-1.0.27-debug.aar -------------------------------------------------------------------------------- /metadata/en-US/icon_original.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/icon_original.png -------------------------------------------------------------------------------- /metadata/en-US/promoGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/promoGraphic.png -------------------------------------------------------------------------------- /res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /metadata/en-US/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/featureGraphic.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-hdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-hdpi/ic_stat_name.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-mdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-mdpi/ic_stat_name.png -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/drawable-xhdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-xhdpi/ic_stat_name.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /assets/2048/meta/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/meta/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/2048/screenshots/screen01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/screenshots/screen01.png -------------------------------------------------------------------------------- /res/drawable-xxhdpi/ic_stat_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/res/drawable-xxhdpi/ic_stat_name.png -------------------------------------------------------------------------------- /metadata/en-US/phoneScreenshots/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/phoneScreenshots/screen1.png -------------------------------------------------------------------------------- /AdobeMobileLibrary/adobeMobileLibrary-4.16.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/AdobeMobileLibrary/adobeMobileLibrary-4.16.1.jar -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Bold-webfont.eot -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Bold-webfont.woff -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Light-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Light-webfont.eot -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Light-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Light-webfont.woff -------------------------------------------------------------------------------- /assets/2048/meta/apple-touch-startup-image-640x1096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/meta/apple-touch-startup-image-640x1096.png -------------------------------------------------------------------------------- /assets/2048/meta/apple-touch-startup-image-640x920.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/meta/apple-touch-startup-image-640x920.png -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Regular-webfont.eot -------------------------------------------------------------------------------- /assets/2048/style/fonts/ClearSans-Regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/assets/2048/style/fonts/ClearSans-Regular-webfont.woff -------------------------------------------------------------------------------- /metadata/en-US/sevenInchScreenshots/screen_tablet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/acs-android-example/master/metadata/en-US/sevenInchScreenshots/screen_tablet.png -------------------------------------------------------------------------------- /assets/2048/js/application.js: -------------------------------------------------------------------------------- 1 | // Wait till the browser is ready to render the game (avoids glitches) 2 | window.requestAnimationFrame(function () { 3 | new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager); 4 | }); 5 | -------------------------------------------------------------------------------- /res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/2048/js/bind_polyfill.js: -------------------------------------------------------------------------------- 1 | Function.prototype.bind = Function.prototype.bind || function (target) { 2 | var self = this; 3 | return function (args) { 4 | if (!(args instanceof Array)) { 5 | args = [args]; 6 | } 7 | self.apply(target, args); 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 14 19:55:48 PDT 2018 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 7 | -------------------------------------------------------------------------------- /res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: android 2 | 3 | android: 4 | components: 5 | - tools 6 | - build-tools-24.0.1 7 | - android-24 8 | - platform-tools 9 | - extra-android-support 10 | - extra-android-m2repository 11 | 12 | jdk: 13 | - oraclejdk8 14 | script: 15 | - ./gradlew build 16 | -------------------------------------------------------------------------------- /res/values-da/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Indstillinger 3 | 2048 4 | Tryk tilbage igen for at slutte 5 | Hold knappen inde for at skifte til fuld skærm 6 | 7 | -------------------------------------------------------------------------------- /res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 128dp 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/2048/Rakefile: -------------------------------------------------------------------------------- 1 | require "date" 2 | 3 | namespace :appcache do 4 | desc "update the date in the appcache file (in the gh-pages branch)" 5 | task :update do 6 | appcache = File.read("cache.appcache") 7 | updated = "# Updated: #{DateTime.now}" 8 | 9 | File.write("cache.appcache", appcache.sub(/^# Updated:.*$/, updated)) 10 | end 11 | end 12 | -------------------------------------------------------------------------------- /res/values-ko/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | 설정 6 | \'뒤로\' 버튼을 한번 더 누르시면 종료됩니다. 7 | 화면 모드 변경을 하려면 화면을 길게 누르세요. 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-eo/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Agordoj 6 | Premu reen denove por eliri 7 | Premu longe por baskuligi tutekrane 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-lt/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2048 4 | Nustatymai 5 | Paspauskite atgal norėdami išeiti 6 | Paspauskite ilgiau norėdami įjungti pilną ekraną 7 | -------------------------------------------------------------------------------- /res/values-pt/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2048 4 | Configurações 5 | Pressione voltar novamente para sair 6 | Pressione e segure para entrar no modo de tela cheia 7 | -------------------------------------------------------------------------------- /res/values-es/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Ajustes 6 | Pulse "Atrás" de nuevo para salir 7 | Pulsación larga para alternar pantalla completa 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Einstellungen 6 | Drücke nochmal Zurück zum Beenden 7 | Lange drücken, um Vollbildschirm anzuzeigen 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-pl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Ustawienia 6 | Naciśnij ponownie, aby wyjść 7 | Trzymaj nacisk na pare sekund, aby zmienic na pełny ekran 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-nl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Instellingen 6 | Druk opnieuw op terug om af te sluiten 7 | Druk lang in om volledig scherm om te schakelen 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Настройки 6 | Нажмите кнопку [Назад] ещё раз, чтобы выйти 7 | Долгое нажатие переключает полноэкранный режим 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Paramètres 6 | Appuyez encore sur retour pour quitter 7 | Appuyez longtemps pour passer en mode plein écran 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /res/values-uk/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Налаштування 6 | Натисніть назад ще раз, щоб вийти 7 | Довге натиснення для того, щоб перейти у повноекранний режим 8 | 9 | 10 | -------------------------------------------------------------------------------- /res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Ρυθμίσεις 6 | Πατήστε \'πίσω\' ξανά για έξοδο 7 | Πατήστε για ώρα την οθόνη για να μεγιστοποίηση/σμίκρυνση παραθύρου 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/2048/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "esnext": true, 3 | "indent": 2, 4 | "maxlen": 80, 5 | "freeze": true, 6 | "camelcase": true, 7 | "unused": true, 8 | "eqnull": true, 9 | "proto": true, 10 | "supernew": true, 11 | "noyield": true, 12 | "evil": true, 13 | "node": true, 14 | "boss": true, 15 | "expr": true, 16 | "loopfunc": true, 17 | "white": true, 18 | "maxdepth": 4 19 | } 20 | -------------------------------------------------------------------------------- /res/values-sr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 5 | Подешавања 6 | Притисните поново тастер за враћање ради изласка из апликације 7 | Додирните и задржите прст на екрану за пребацивање апликације у режим пуног екрана 8 | 9 | 10 | -------------------------------------------------------------------------------- /assets/2048/js/nightmode.js: -------------------------------------------------------------------------------- 1 | window.onload = function() { 2 | var a = document.getElementById("night"); 3 | a.onclick = function() { 4 | if (document.getElementsByTagName("html")[0].style.backgroundColor === "rgb(45, 48, 44)") { 5 | document.getElementsByTagName("html")[0].style.backgroundColor = "#faf8ef"; 6 | document.getElementsByTagName("body")[0].style.backgroundColor = "#faf8ef"; 7 | return false; 8 | } else { 9 | document.getElementsByTagName("html")[0].style.backgroundColor = "#2D302C"; 10 | document.getElementsByTagName("body")[0].style.backgroundColor = "#2D302C"; 11 | return false; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /assets/2048/js/tile.js: -------------------------------------------------------------------------------- 1 | function Tile(position, value) { 2 | this.x = position.x; 3 | this.y = position.y; 4 | this.value = value || 2; 5 | 6 | this.previousPosition = null; 7 | this.mergedFrom = null; // Tracks tiles that merged together 8 | } 9 | 10 | Tile.prototype.savePosition = function () { 11 | this.previousPosition = { x: this.x, y: this.y }; 12 | }; 13 | 14 | Tile.prototype.updatePosition = function (position) { 15 | this.x = position.x; 16 | this.y = position.y; 17 | }; 18 | 19 | Tile.prototype.serialize = function () { 20 | return { 21 | position: { 22 | x: this.x, 23 | y: this.y 24 | }, 25 | value: this.value 26 | }; 27 | }; 28 | -------------------------------------------------------------------------------- /res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 14 | 15 | 16 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /metadata/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | 2048 Puzzle Game 2 | 3 | ------------------------------- 4 | 5 | This is the android port of the 2048 game made by Gabriele Cirulli https://github.com/gabrielecirulli/2048 6 | It's just a webview that loads the locally stored HTML files of the original game. 7 | No ads, no permissions required. Just open source. :) 8 | I just wanted to make it instantly playable without Internet and with a quick access icon for my smartphone. It is a bit slower than native code since everything runs in an android webview. If you want you can contribute fixes/speedups here https://github.com/uberspot/2048 9 | 10 | Long touch for 3+ seconds anywhere on the game if you want to toggle the fullscreen mode. 11 | 12 | You can view the code here https://github.com/uberspot/2048-android -------------------------------------------------------------------------------- /proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /src/com/adobe/a2048/example/AppConfig.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2019 Adobe 3 | All Rights Reserved. 4 | 5 | NOTICE: Adobe permits you to use, modify, and distribute this file in 6 | accordance with the terms of the Adobe license agreement accompanying 7 | it. If you have received this file from a source other than Adobe, 8 | then your use, modification, or distribution of it requires the prior 9 | written permission of Adobe. 10 | */ 11 | 12 | package com.adobe.a2048.example; 13 | 14 | public class AppConfig { 15 | public static final boolean CAMPAIGN_CLASSIC_ENABLED = false; 16 | public static final boolean CAMPAIGN_STANDARD_ENABLED = true; 17 | public static final boolean CAMPAIGN_STANDARD_DEBUG_LOGGING_ENABLED = true; 18 | public static final boolean KEEP_ALIVE_WORKER_ENABLED = true; 19 | public static final String EXAMPLE_CHANNEL_NAME = "EXAMPLE CHANNEL NAME"; 20 | public static final String EXAMPLE_CHANNEL_ID = "EXAMPLE CHANNEL ID"; 21 | } 22 | -------------------------------------------------------------------------------- /res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2048 Example 5 | Settings 6 | Press back again to exit 7 | Long click to toggle fullscreen 8 | Open PII View 9 | com.adobe.a2048.example.PUSH_TOKEN_KEY 10 | CollectPIIActivity 11 | Debug Console 12 | Button 13 | Copy to clipboard 14 | DebugConsole 15 | 16 | 17 | -------------------------------------------------------------------------------- /res/layout/activity_debug_console.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 |