Beiträge von Desperate

    Hallo Community


    Sicher brauchen die meisten von euch auch Android Studio. Mich stören dabei drei Dinge, die man vielleicht in den Settings einstellen kann, doch bisher wurde ich nicht fündig. Bei den vielen Settings habe ich aber evtl auch schlicht etwas übersehen:


    1) Kann man irgendwo einstellen, dass die neu erzeugte APK [Build -> Build Bundle(s)/APK(s) -> Build APK(s)] nicht "app-debug.apk" heisst, sondern so, wie man das zu Beginn eines neuen Projektes selber festgelegt hat?


    2) Seit Version 3.3 ist der Default-Style der App neu "Theme.AppCompat.Light.DarkActionBar". Ich möchte aber den bisherigen Style "android:Theme.Holo.Light.DarkActionBar" (mit Icon und App-Titel in der obersten Zeile) beibehalten. Gibt's irgendwo eine Vorlage von styles.xml, wo man dies abändern könnte, so dass künftig direkt mein Wunsch-Style vorgeschlagen wird?


    3) Wegen eines Darstellungsfehlers in Android 9 muss ich in "build.gradle" die "targetSdkVersion" meistens auf Verson 27 statt der automatisch vorgeschlagenen Version 28 setzen. Gleiche Frage wie bei 2): Kann man das irgendwo für die Zukunft festhalten?


    Danke für jede (Teil-)Antwort!

    Hallo Michael


    Vielen Dank für deinen Tipp! Schon interessant: Da kann man sich verrennen (keine Ahnung, warum ich stundenlang im Internet keine Lösung fand - wie in #1 geschrieben sogar Behauptungen sah, dass dies unmöglich sei, was 5 Jahre unwidersprochen blieb), und dann gehts dank einer einzigen Zeile doch weiter. Dein Link schiesst zwar etwas über mein Ziel hinaus (ich will nur eine Foto, keinen Film der Oberfläche), aber jetzt war die Lösung nicht mehr schwer zu finden: Mit dem Stichwort Github habe ich nach zwei Minuten googlen diese Anleitung für ein ScreenCapturing von Google selbst gefunden. Jetzt also mit Vollgas geradeaus 8o ...


    Nochmals danke, unbezahlbare Hilfe!


    PS: Deine "Schwebende Stoppuhr" ist echt genial und hab ich sofort installiert, zumal ich vor Jahren (nur für mich) genau das Gleiche für Windows programmiert habe und immer noch oft gebrauche (Bild) ...

    Hallo Profis


    Mal eine Frage, kein fehlerhafter Code: Ich habe jetzt über eine Stunde im Internet gesucht, wie man den Homescreen (den man nach Drücken des Home-Buttons sieht) auslesen kann. Ich wurde nicht fündig und denke unterdessen, dass dies - im Gegensatz etwa zu Windows - aus Sicherheitsgründen gar nicht möglich ist, siehe z.B. hier Stackoverflow: Screen magnifier. Anderseits besitzte ich eine App "Pixolor" aus dem Play Store, die auf Android 8 oder 9 genau das macht (siehe Bild), was ich möchte: Einen Teil des Homescreens UNGEGLÄTTET (d.h. pixelig) vergrössert wiedergeben, damit ich für grafische Aufgaben die Pixel zählen kann. Nur ist mir der vergrösserte Teil des Homescreens bei dieser App zu klein. Aber das Auslesen ist doch irgendwie möglich. Nur, wie? Kann mir jemand Näheres dazu sagen?


    Danke schon jetzt!

    Hallo jogimuc


    Herzlichen Dank für deine ausführliche Analyse und den vielen Tipps. Hab soeben die Lösung mit einem Alarmmanager implementiert - funktioniert wunderbar, genau wie gewünscht. Danke nochmals für die unschätzbare Hilfe.

    Hallo jogimuc


    Danke für deine Antworten. Zu deiner Entgegnung auf mein erstes Problem: Genau das hab ich gemacht, mich über den Lifecycle informiert, nämlich hier (runterscrollen bis zur Grafik). Da siehst du, warum ich "onRestart" nehme: Bei deinem Vorschlag "onResume" würde die Methode "run" auch schon unnötigerweise beim Aufstart der App ausgeführt, wenn der Timer sowieso anspringt und "run" ausführt... Aber das ist eigentlich nicht das wesentliche Problem. Ich kann "run" zu selbst gewählten Zeitpunkten nur ausführen, indem ich von dieser Methode eine eigene Instanz erzeuge, die dann aber keinen Zugriff auf die aktuellen Daten der vom Timer erzeugten regelmässigen Durchführungen von "run" haben. Gibt es sowas wie globale Variablen, auf die meine Instanz und die Instanz vom Timer zugreifen können? Oder wie können diese beiden Instanzen von "run" gegenseitig Daten austauschen? Ist das überhaupt möglich?


    Die Antwort auf Frage 2 hilft mir (wie ich es sehe) nicht wirklich weiter: Auch einen Alarmmanager müsste ich in meiner App mit einem Timer alle 3 Minuten setzen. Kille ich meine App, ist auch der Alarmmanager ohne Auftrag... Aber einen "ewigen" und unsichtbaren Dienst ist möglich - wie geschrieben funktioniert die App "Waterbot" auf meinem Android 8.0 genau so und ohne Probleme.


    Wer noch ergänzende Bemerkungen zu meinen Fragen hat, ist hoch willkommen!

    Hallo


    Ich brauch wieder mal einen Rat von euch Profis, nein, sogar gleich deren zwei. Ich will (immer noch) eine App schreiben, die alle 3 Minuten meine wichtigsten Systemeinstellungen kontrolliert (z.B. ob "Mobile Daten" nicht irrtümlich eingeschaltet blieb, was unterwegs innert Kürze unbemerkt mein Prepaid-Konto leeren würde). Das gelang mir soweit auch.


    1) Nun möchte ich aber auch noch, dass meine Kontrolle sofort ausgeführt wird, wenn ich die App wieder in den Vordergrund bringe (zu einem Zeitpunkt MITTEN in den 3-minütigen Intervallen). Mache ich das mit "onRestart" auf folgende Weise,

    so wird zwar das Unterprogramm "run" ausgeführt, aber mit eigenen Initialdaten und nicht diejenigen, welche die 3-Minuten-periodische Prozedur aktuell hat. Meine erste Idee war eine statische Methode "run". Aber Unterklassen dürfen keine statische Methoden haben. Ich denke, es gibt eine ganz einfache Lösung, aber als ziemlich blutiger Anfänger fehlt mir hierfür die Erfahrung ...


    2) Wenn ich alle zuletzt verwendeten Apps mittels "Alle schliessen" beende, endet auch meine Kontroll-App, und ich bin ohne Schutz gegen meine Vergesslichkeit. Fieserweise bleibt dann auch das Notification-Icon meiner App bestehen und wiegt mich im Glauben, meine App laufe noch. Ich hab schon versucht, das Unterprogramm "run" als Hintergrunddienst (gestarteter Dienst, IntentService) zu schreiben, aber auch so wird der Dienst beendet, wenn ich die App schliesse. Meine App sollte also unsichtbar und unschliessbar sein (und bei Neustart des Handys auch aufstarten). Dass dies möchlich ist, beweist mir die App "Waterbot" aus dem PlayStore, die genau diese Eigenschaften hat und mich z.B. alle 5 Tage ans Blumengiessen erinnert. Nur, wie erreiche ich dieses Ziel?


    Herzlichen Dank für alle Tipps!

    Hallo cl500merza


    Danke für das Lob. Ich bring das schon noch fertig, das ist ja die Herausforderung und das, was schlussendlich Spass macht (ist nicht mien Job, nur mein Hobby). Eine Version, die minütlich den Status abfragt, läuft ja schon auf meinem S9. Aber ich habe kein Patent auf meiner Idee (die wohl andere auch schon hatten), wenn du deinem Kumpel den Tipp geben willst - nur zu.


    Schöner Tag

    Wunderbar, Riiiiesendank, jogimuc, das funktioniert ^^ . Jetzt konnte ich auch die Piepserzeugung durch meinen minütlichen Test, ob "Mobile Daten" eingeschaltet sind, ersetzen. (Noch) nicht elegant, aber tut vorerst das, was ich will. Ich habe aber gemerkt, dass ich alles noch zu wenig gut verstehe, warum der Code gerade so lauten muss, und ich verschwinde mal in der Versenkung, um mich etwas schlauer zu machen. Vielleicht ist das Projekt mit dem Broadcast Receiver im Moment noch zu gross für mich. Wir werden sehen...


    Bis ein anderes Mal...

    Ok, jogimuc, ich hab jetzt mal die Timer-Geschichte in meine MainActivity eingebaut (leicht andere Syntax als du schreibst - ich denke, bei dir sind noch ein paar Flüchtigkeitsfehler drin):


    Code
    Timer timer = new Timer();
          TimerTask test = new TimerTask() {
            @Override
            public void run() {
              ToneGenerator toneGen1 = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
              toneGen1.startTone(ToneGenerator.TONE_CDMA_PIP,150);
            }
          };
          timer.scheduleAtFixedRate(test,0, 1000);

    WIeder stürzt aber das Programm nach etwa 20 Sekunden (=20 Piepse) ab. Das Logcat habe ich schon im Posting Nr. 1 beigefügt (vielleicht irritiert dort der Titel "Quellcode", aber ich habe diese Darstellung als Code gewählt, weil dann die Zeilen numeriert werden und man so leicht darauf verweisen kann). Die ersten ca. 3 Zeilen gehören noch zum letzten Pieps, dann entgleist die App offensichtlich.


    Danke fürs Anschauen!

    Danke, Jogimuc, für deine Einschätzung und die interessanten Links. Damit habe ich eine saftige Hausaufgabe, die mich mal ein paar Tage oder Wochen beschäftigen wird ... Anhand eines eigenen, konkreten Problems zu lernen ist aber wohl die motivierendste Art, zu lernen.


    Einzig eine Frage ist (im Moment) noch nicht beantwortet. Ich hätte sehr gern gewusst, warum mein obiger unter 3) aufgelisteter Code nach etwa 20 Repetitionen crasht. Da der Pieps 20-mal ertönt, kann der Code ja nicht grundsätzlich falsch sein. Wird der Speicher knapp, da immer neue Instanzen erzeugt und die alten nicht gelöscht werden?

    Hallo Community


    Weil ich auf meinem Galaxy S9 ein Prepaid-Surf-Abo gelöst habe und unterwegs gelegentlich vergesse, die Mobile Daten auszuschalten, was mein Surf-Konto plündert, möchte ich eine App schreiben, die mir genau dann eine Notification (oben links) anzeigt, wenn "Mobile Daten" eingeschaltet ist. Es ist mir als Anfänger gelungen, als Teillösung eine App zu schreiben, die beim Ausführen diese Notification anzeigt, wenn "Mobile Daten" eingeschaltet ist, bzw. löscht, wenn nur WLAN eingeschaltet ist. Aber ich scheitere daran, jetzt daraus eine selbständige App zu machen, die das Gewünschte liefert, auch weil ich bis jetzt in meinem Leben nur zwei Apps mit je einer einzigen Klasse geschrieben habe. Vielleicht kann mir aber der eine Profi eine oder mehrere der folgenden Fragen beantworten, die auch nicht in meinem Lehrbuch behandelt werden. Danke für jeden Tipp, insbesondere auch Hinweise, wo und wie ich mich zu diesen Themen schlau machen kann ...


    1) Vermute ich richtig, dass die beste Form für meine Idee ein Service wäre, der unsichtbar permanent im Hintergrund läuft? Wenn ja: Ich habe noch nie einen Service geschrieben, gibts irgend wo eine einfachere Anleitung/ein Beispiel?


    2) Kann meine App die Aktionen "Mobile Daten ein" bzw. "Mobile Daten aus" abfangen, so dass meine App entsprechend mit der Notification reagieren kann, oder muss meine App selber z.B. jede Sekunden testen, ob "Mobile Daten" ein- oder ausgeschaltet ist?


    3) Um jede Sekunde einen Code auszuführen, habe ich im Internet folgende Lösung gefunden. Aufruf der Klasse "Test" in der MainActivity OnCreate-Methode mittels

    Code
    Test test = new Test();

    Und hier die Klasse "Test" (erzeugt alle Sekunden einen Pieps):

    Das funktioniert, führt aber nach ca. 20 Repetitionen zu einem Absturz. Warum? Speicherproblem? Aus dem Logcat werde ich nicht klug:



    4) Der folgende Code für das Erzeugen/Löschen der Notification funktioniert, wenn ich ihn in der MainActivity in der onCreate-Methode schreibe. Wenn ich diesen Code aber in die obige Klasse "Test" anstelle des Pieps von Zeile 9/10 schreibe, erhalte ich Fehler:
    Zeile 1: getApplicationContext() cannot resolve method
    Zeile 3 und 19: getSystemService(this.NOTIFICATION_SERVICE) cannot resolve method
    Zeile 10: MainActivity.this not an enclosing class


    Auch da weiss ich leider nicht, wie ich das abändern muss, damit der Code in der Klasse "Test" anstelle des Pieps läuft.




    Danke an alle, die sich bis hierher durchgekämpft haben!

    Danke, Xcreen für die Einschätzung und jogimuc für den Link.


    Die im Link präsentierte Lösung funktioniert leider nicht: Die erzeugten listFile wird ja gar nicht eingesetzt, der Rest entspricht meinem Code. Vermutlich hat Xcreen recht mit der Behauptung, dass es an der spezifischen Programmierung der Samsung-eigenen Gallerie liegt. Aber eine Notlösung ist sein Vorschlag, extra wegen diesem Problem die App "Schlichte Galerie" zu installieren...


    Bin dennoch empfänglich für weitere Kommentare.

    Liebe Profis


    Ich möchte auf meinem Samsung Galaxy S9 programmgesteuert die Fotos eines Ordners (Albums) in der Samsung Foto-Galerie (also nicht die Default-Android-Fotogalerie, sondern die Gallerie, die standardmässig auf allen Samsung-Geräten installiert ist) anzeigen lassen, so dass ich mich mittels Wischen durch alle Fotos bewegen kann. Mit den Befehlen


    Code
    Uri uri = Uri.fromFile(new File("storage/emulated/0/Ordnername/Foto1.jpg"));
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(uri, "image/*");
            intent.setClassName("com.sec.android.gallery3d", "com.sec.android.gallery3d.app.GalleryActivity");
            startActivity(intent);

    wird zwar die erste Foto im gewünschten Ordner in der Samsung-Gallerie geöffnet, aber ich kann nicht weiterwischen. Lass ich in der ersten Zeile "/Foto1.jpg" weg, erscheint nur ein grauer Bildschirm. Mit "/*" statt "/Foto1.jpg" erscheinen alle Alben zur Auswahl, aber auch die Fehlermeldung "Element nicht gefunden". Weiss jemand, wie man den Ordner öffnen kann UND gleichzeitig die Möglichkeit hat, weiter zu wischen? Wenn man in der Samsung-Gallerie den Ordner manuell auswählt, ist das nämlich möglich.


    Danke für jeden Tipp!

    Ich brauch den APK-Analyzer auch noch, um zu schauen, ob ich den SplashScreen umgehen kann, der oft nur aus 5 Sekunden Werbung besteht, obwohl im Hintergrund gar nichts aufgebaut wird. Z.B. gerade bei der App TripAdvisor, deren erste Activity (SplashScreen) eben auch nicht per Intent aufzustarten war. Der Sprung direkt zum Hauptprogramm ging aber mit einem üblichen Intent und den Daten aus dem APK-Analyzer.


    Und: Ich Frischling mit meiner zweiten App überhaupt in meinem Leben und du mit 1334 Beiträgen - das spricht ja Bände. Aber ok, punktuell kann ich vielleicht etwas beitragen. Z.B. gestern ist mir aufgefallen, dass du die Frage 2 bei https://www.android-hilfe.de/f…menue-oeffnet.884685.html nicht beantwortet hast/nicht verstanden hast. Posting #6 kam von mir, denn ich hatte vor kurzem genau das gleiche Problem.


    Danke nochmals für die Hilfe. Du trägst wesentlich dazu bei, dass Personen wie ich sich nicht frustriert vom Hobby-Programmieren abwenden, sondern langsam einen Spass daran entwickeln. Unbezahlbar...

    Wow, Bingo, das ist es!!! Für diese detektivische Leistung gibt's mindestens 5 Sterne! Danke vielmals! Der Unterschied bei "act=..." ist mir nicht aufgefallen, bzw. hätte ich nicht gewusst zu interpretieren. Wieder mal was gelernt. Hätte man das denn wissen sollen/können? Alle Beispiele für implizite Intents, die ich sah, hatten die Zeile intent.setAction(Intent.ACTION_MAIN); enthalten...


    Und noch zu deiner letzten Frage: Ich habe auch Version 2.3.2 vom APK-Analyzer. Die letzte eben. Wenn ich dir da etwas helfen kann (log-files etc), tue ich das gerne. Ansonsten ist es wohl müssig, dir Tipps zu geben...

    Hallo jogimuc


    Kein Stress, pressiert nicht. Programmieren ist nicht mein Job, sondern mein Hobby :)
    Im Anhang noch das Log-File während des Aufrufs aus dem APK-Analyzer von "Falleri Fallera" (damit du mit Posting #9 vergleichen kannst. Aus AndroidStudio kopiert). Bei 14:08:31:810 bzw. 14:08:32:352 findest du, was du suchtest. Auch der zweite Eintrag für die Zeitmarke 14:08:31.836 ist interessant. Brauchst du weitere Logcats, sag's mir.


    Ich hab heute Morgen auch die drei Programmierer von FalleriFallera, Dog Scanner und Echtreim angeschrieben, aus Hamburg habe ich zu Echtreim schon eine Antwort, mit der ich allerdings nicht sehr viel anfangen kann:


    "Die Splashscreen ist eine erste Activity, der nächste dadd eben die nächste.Das ganze ist mit Titanium gebaut und ich bin mir da nicht ganz sicher. Ich kann die App auch aus einer Notification aufrufen, und das ist auch ein PendingIntent."


    Was mir auffällt ist aber, dass es hier wie auch im angehängten Logcat bei Falleri Fallera um Titanium geht. Da haben beide Problem-App etwas gemeinsames. Mal schauen, ob bei dir heute Abend Thermometer++ oder Echtreim von einer eigenen App aufgerufen werden können. Hier die nötigen Zeilen für den Intent dieser App:

    Code
    Intent intent = new Intent();
        intent.setAction(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        intent.setComponent(new ComponentName("amuseworks.thermometer","amuseworks.thermometer.MainActivity"));
        //intent.setComponent(new ComponentName("de.appwerft.echtreim","de.appwerft.echtreim.EchtreimActivity"));
        startActivity(intent);


    Viel Erfolg!

    Stimmt, da hat mich meine Erinnerung getäuscht: "Falleri Fallera" kostet. Also nehmen wir ein anderes Ziel: Thermometer++, hat nur 7 activities, eine davon ausführbar mit APK-Analyzer, siehe Screenshot im Anhang. So bring ich die App zum Laufen, aber mit einer eigenen App und einem Intent stürzt sie sofort ab. Wenn du das nachvollziehen könntest, wäre das super und würde weiterhelfen. Denn es könnte ja auch ein spezifisches Problem meines Handys sein, z.B. des Nova-Launchers, den ich installiert habe (meins ist hingegen nicht gerootet). Höre gerne von dir, was du erlebst.


    PS: Dein Tipp "intent.setComponent" statt "intent.setClassName" fruchtet nicht :-(.

    Hallo Jogimuc


    Habe noch ein Uralt-Galaxy-S4 mit Android 5.0.1. Auch dort: Absturz nach einem Bruchteil einer Sekunde, wenn ich Falleri Fallera per Intent aufrufe. TargetSDK 25 nützt auch nichts.
    Bei den Flags kenn ich mich noch nicht aus (erst die 2. App in meinem Leben, die ich schreibe ...). Da müsste ich noch detailiertere Anleitung haben. Gefühlsmässig gebe ich den Flags aber keine grosse Chancen.
    Je länger desto mehr denke ich nämlich, dass hier ein Android-Problem vorliegt. Ich habe meine App unterdessen auf den vom AndroidStudio vorgegebenen Startrahmen reduziert und nur noch im onCreate die 4 Zeilen aus Posting #3 ergänzt - fehlerhaft kann das ja nicht sein. Unterdessen habe ich auch gemerkt, dass von meinen über 200 Apps ganze vier genau das selbe Verhalten wie Falleri Fallera haben: DogScanner, Echtreim, Thermometer++, alle aus dem PlayStore. Für über 50 andere Apps habe ich den Aufstart getestet - problemlos. Also liegt es wohl auch nicht an der App Falleri Fallera, sondern an einem prinzipiellen Problem von Android selbst. Langsam wird's für mich ein Mysterium...
    Die LogCats vom Laucher/APK-Analyzer werd' ich mir noch anschauen, aber da es ja auf diese Weise keine Probleme gibt, erhoffe ich mir davon nicht viel.

    Ich entdecke nichts Aussergewöhnliches im LogCat über FalleriFallera. "my.apps4.singen" ist meine App, die FalleriFallera aufruft. Habe ein Galaxy S9 mit Android Oreo 8.0.0.


    08-11 00:56:19.989 4771-5562/? I/ActivityManager: START u0 {act=android.intent.action.MAIN typ=null flg=0x0 cmp=ComponentInfo{com.interactivespace.fallerifallera/com.interactivespace.fallerifallera.FalleriFalleraActivity}} from uid 10435
    08-11 00:56:20.002 4771-5948/? D/ActivityManagerPerformance: Received MSG_CFMS_HINT_AMS_SWITCH pkgName: com.interactivespace.fallerifallera
    08-11 00:56:20.016 4771-5562/? D/StorageManagerService: getExternalStorageMountMode : 1
    getExternalStorageMountMode : 3
    getExternalStorageMountMode : final mountMode=1, uid : 10228, packageName : com.interactivespace.fallerifallera
    08-11 00:56:20.016 4771-5562/? I/ApplicationPolicy: isApplicationExternalStorageWhitelisted:com.interactivespace.fallerifallera user:0
    08-11 00:56:20.016 4771-5562/? D/ActivityManager: package com.interactivespace.fallerifallera, user - 0 is SDcard whitelisted
    08-11 00:56:20.016 4771-5562/? I/ApplicationPolicy: isApplicationExternalStorageBlacklisted:com.interactivespace.fallerifallera user:0
    08-11 00:56:20.027 4771-5562/? I/ActivityManager: Start proc 21616:com.interactivespace.fallerifallera/u0a228 for activity com.interactivespace.fallerifallera/.FalleriFalleraActivity
    08-11 00:56:20.029 21616-21616/? I/SELinux: SELinux: seapp_context_lookup: seinfo=untrusted, level=s0:c512,c768, pkgname=com.interactivespace.fallerifallera
    08-11 00:56:20.054 4771-4977/? I/ActivityManager: DSS on for com.interactivespace.fallerifallera and scale is 1.0
    08-11 00:56:20.061 4771-4911/? D/ViewRootImpl@27b191d[fallerifallera]: setView = DecorView@3ced563[fallerifallera] TM=true MM=false
    08-11 00:56:20.064 4771-4911/? D/ViewRootImpl@27b191d[fallerifallera]: dispatchAttachedToWindow
    08-11 00:56:20.065 4771-4911/? V/WindowManager: Relayout Window{97eb792 u0 Splash Screen com.interactivespace.fallerifallera}: viewVisibility=0 req=1080x2004 WM.LayoutParams{(0,0)(fillxfill) sim=#20 ty=3 fl=#81830118 pfl=0x1000011 fmt=-3 wanim=0x10302fc vsysui=0x610 needsMenuKey=2 colorMode=0 naviIconColor=0}
    08-11 00:56:20.066 4771-5089/? D/GameManagerService: handleForegroundChange(). pkgName: com.interactivespace.fallerifallera, clsName: com.interactivespace.fallerifallera.FalleriFalleraActivity,FgActivityName:com.interactivespace.fallerifallera/.FalleriFalleraActivity
    sem_perfomance_mode: 0
    08-11 00:56:20.067 4771-5089/? D/GameManagerService: notifyResumePause(). pkg: com.interactivespace.fallerifallera, type: 4, isMinimized: false, isTunableApp: false
    notifyResumePause(). unexpected mPrevNotiType: -1
    08-11 00:56:20.071 4255-4255/? I/SurfaceFlinger: id=29 createSurf (1080x2220),1 flag=4, Splash Screen com.interactivespace.fallerifallera#0
    08-11 00:56:20.074 4771-4911/? D/ViewRootImpl@27b191d[fallerifallera]: Relayout returned: old=[0,0][0,0] new=[0,0][1080,2220] result=0x7 surface={valid=true 496173146112} changed=true
    08-11 00:56:20.075 4771-4977/? D/MARsPolicyManager: onPackageResumedFG pkgName = com.interactivespace.fallerifallera, userId = 0
    08-11 00:56:20.076 4771-4911/? D/ViewRootImpl@27b191d[fallerifallera]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 1080, 2220) ci=Rect(0, 72 - 0, 144) vi=Rect(0, 72 - 0, 144) or=1
    08-11 00:56:20.080 4771-9380/? D/GamePkgDataHelper: getGamePkgDataIncServer(). com.interactivespace.fallerifallera
    getSosPolicy(). com.interactivespace.fallerifallera
    08-11 00:56:20.084 4771-9380/? D/GameManagerService: identifyGamePackage. com.interactivespace.fallerifallera
    08-11 00:56:20.084 4771-9380/? D/GamePkgDataHelper: getGamePkgData(). com.interactivespace.fallerifallera
    08-11 00:56:20.085 4771-9380/? D/GameManagerService: identifyGamePackage. com.interactivespace.fallerifallera
    08-11 00:56:20.085 4771-9380/? D/GamePkgDataHelper: getGamePkgData(). com.interactivespace.fallerifallera
    08-11 00:56:20.086 4771-9380/? D/GameManagerService: identifyGamePackage. com.interactivespace.fallerifallera
    08-11 00:56:20.086 4771-9380/? D/GamePkgDataHelper: getGamePkgData(). com.interactivespace.fallerifallera
    08-11 00:56:20.087 4771-9380/? D/GameManagerService: identifyGamePackage. com.interactivespace.fallerifallera
    08-11 00:56:20.087 4771-9380/? D/GamePkgDataHelper: getGamePkgData(). com.interactivespace.fallerifallera
    08-11 00:56:20.089 4771-9380/? D/GameManagerService: identifyGamePackage. com.interactivespace.fallerifallera
    08-11 00:56:20.089 4771-9380/? D/GamePkgDataHelper: getGamePkgData(). com.interactivespace.fallerifallera
    08-11 00:56:20.105 4771-4911/? V/WindowManager: finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING Window{97eb792 u0 Splash Screen com.interactivespace.fallerifallera} in Surface(name=Splash Screen com.interactivespace.fallerifallera)
    08-11 00:56:20.143 4255-4255/? I/SurfaceFlinger: Display 0 HWC layers:
    type | handle | flag | format | source crop (l,t,r,b) | frame | name
    ------------+--------------+------+-----------+----------------------------+---------------------+------
    SolidColor | | 0000 | Unknown | -0.2 -0.2 -0.8 -0.8 | 0 0 1080 2220 | animation background stackId=1#0
    Client | 0x7db5c5baa0 | 0002 | RGBA_8888 | 0.0 0.0 1080.0 2076.0 | 0 0 1080 2076 | my.apps4.singen/my.apps.singen.MainActivity#0
    Device | 0x7db58400a0 | 0000 | RGBA_8888 | 0.0 0.0 46.0 2220.0 | 1034 0 1080 2220 | Splash Screen com.interactivespace.fallerifallera#0
    Device | 0x7db5c5b1e0 | 0000 | RGBA_8888 | 0.0 0.0 84.0 84.0 | 0 1799 84 1883 | #1
    Device | 0x7db5c58e00 | 0000 | RGBA_8888 | 0.0 0.0 1080.0 72.0 | 0 0 1080 72 | StatusBar#0
    Device | 0x7db583f460 | 0000 | RGBA_8888 | 0.0 0.0 67.0 445.0 | 0 216 67 661 | com.samsung.android.app.cocktailbars[...]ktailbarse
    08-11 00:56:20.211 4771-4967/? D/MdnieScenarioControlService: packageName : com.interactivespace.fallerifallera className : com.interactivespace.fallerifallera.FalleriFalleraActivity
    08-11 00:56:20.336 4255-4255/? I/SurfaceFlinger: Display 0 HWC layers:
    type | handle | flag | format | source crop (l,t,r,b) | frame | name
    ------------+--------------+------+-----------+----------------------------+---------------------+------
    Device | 0x7db5c5baa0 | 0002 | RGBA_8888 | 38.0 0.0 1080.0 2076.0 | 0 0 1042 2076 | my.apps4.singen/my.apps.singen.MainActivity#0
    SolidColor | | 0000 | Unknown | -0.2 -0.2 -0.8 -0.8 | 0 0 1080 2220 | animation background stackId=1#0
    Device | 0x7db58400a0 | 0000 | RGBA_8888 | 0.0 0.0 1011.0 2220.0 | 69 0 1080 2220 | Splash Screen com.interactivespace.fallerifallera#0
    Device | 0x7db5c5b1e0 | 0000 | RGBA_8888 | 0.0 0.0 84.0 84.0 | 0 1799 84 1883 | #1
    Device | 0x7db5c58e00 | 0000 | RGBA_8888 | 0.0 0.0 1080.0 72.0 | 0 0 1080 72 | StatusBar#0
    Device | 0x7db583f460 | 0000 | RGBA_8888 | 0.0 0.0 67.0 445.0 | 0 216 67 661 | com.samsung.android.app.cocktailbars[...]ktailbarse
    rvice.CocktailBarService#0
    Device | 0x7db58407a0 | 0000 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2076 1080 2220 | NavigationBar#0
    08-11 00:56:20.352 4255-4255/? I/SurfaceFlinger: Display 0 HWC layers:
    type | handle | flag | format | source crop (l,t,r,b) | frame | name
    ------------+--------------+------+-----------+----------------------------+---------------------+------
    Device | 0x7db5c5baa0 | 0002 | RGBA_8888 | 75.0 0.0 1080.0 2076.0 | 0 0 1005 2076 | my.apps4.singen/my.apps.singen.MainActivity#0
    Device | 0x7db58400a0 | 0000 | RGBA_8888 | 0.0 0.0 1073.0 2220.0 | 7 0 1080 2220 | Splash Screen com.interactivespace.fallerifallera#0
    Device | 0x7db5c5b1e0 | 0000 | RGBA_8888 | 0.0 0.0 84.0 84.0 | 0 1799 84 1883 | #1
    Device | 0x7db5c58e00 | 0000 | RGBA_8888 | 0.0 0.0 1080.0 72.0 | 0 0 1080 72 | StatusBar#0
    Device | 0x7db583f460 | 0000 | RGBA_8888 | 0.0 0.0 67.0 445.0 | 0 216 67 661 | com.samsung.android.app.cocktailbars[...]ktailbarservice.CocktailBarService#0
    Device | 0x7db58407a0 | 0000 | RGBA_8888 | 0.0 0.0 1080.0 144.0 | 0 2076 1080 2220 | Naviga
    08-11 00:56:20.732 4771-4911/? I/WindowManager: Destroying surface Surface(name=Splash Screen com.interactivespace.fallerifallera) called by com.android.server.wm.WindowStateAnimator.destroySurface:2465 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:967 com.android.server.wm.WindowState.destroyOrSaveSurfaceUnchecked:3660 com.android.server.wm.WindowState.destroySurface:3608 com.android.server.wm.AppWindowToken.destroySurfaces:722 com.android.server.wm.AppWindowToken.destroySurfaces:706 com.android.server.wm.WindowState.onExitAnimationDone:5285 com.android.server.wm.AppWindowAnimator.stepAnimationLocked:508
    08-11 00:56:20.732 4255-5870/? I/SurfaceFlinger: id=29 Removed Splash Screen com.interactivespace.fallerifallera#0 (3/10)
    08-11 00:56:20.739 4255-5870/? I/SurfaceFlinger: id=29 Removed Splash Screen com.interactivespace.fallerifallera#0 (-2/10)
    08-11 00:56:20.740 4771-4911/? D/ViewRootImpl@27b191d[fallerifallera]: dispatchDetachedFromWindow
    08-11 00:56:20.741 4771-4911/? D/InputEventReceiver: channel '97eb792 Splash Screen com.interactivespace.fallerifallera (client)' ~ Disposing input event receiver.
    08-11 00:56:20.741 4771-4911/? D/InputEventReceiver: channel '97eb792 Splash Screen com.interactivespace.fallerifallera (client)' ~NativeInputEventReceiver.
    08-11 00:56:20.749 4255-4255/? I/Layer: id=29 onRemoved Splash Screen com.interactivespace.fallerifallera#0