Good man James helped me learn die roll board game programming in Java,
and I applied it on Ladders and Snakes. Made one in Java. Now I'm learning to do it in Android.
Here's the question:

Making simple Ladders and Snakes game.
Can't use those in Google Play, they don't repeat move if 6 is thrown, and have no bounce around end square.
Made one in Java, works on Windows well. Now porting it to my phone.

Working with AbsoluteLayout to make it simple, because Java functions getX, getY, setX and setY work in px, not dp.
Scaling will learn after making this work.

Made views in XML, board is visible, ending banners invisible (for Victory, Defeat and Draw).
Buttons for Quit and Restart work well.

Tried to learn swing timer android replacement from online tutorials, but failed.

Roll button should call piece moves. Using new thread to avoid overwhelming UI.

Procedure there should be as follows:

  • disable roll button
  • roll die
  • move Player piece square by square, usin playMove handler
  • reposition Player piece if at ladder bottom or at snake head
  • repeat if roll was 6
  • if no, play for Device:
  • roll die
  • move Device piece square by square, using devMove handler
  • reposition Device piece if at ladder bottom or at snake head
  • repeat if roll was 6
  • if not re-enable Roll button and go again when clicked (tapped) on it.

BUT: When I click on Roll, game crashes.
Can't find why. Tried few approaches, like, say, using PostDelayed...

Beg you, please give me direct example of possible solution.
First, I'm not the smartest guy in the world, and second,
didn't sleep much for 4-5 days and my understanding abilities are even lower.

Thanks in advance.

Here's my last attempt that still crashes:

// player 1 is Player, (s)he plays by single click on "Roll" button
// player 2 is Device, it plays as soon as Player finishes, no need to click "Roll" button
// whenever 6 is rolled another move is invoked automatically after completion of current one

import android.content.Intent;
import android.media.AudioManager;
import android.media.ToneGenerator;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AbsoluteLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import static java.lang.Math.random;

public class MainActivity extends AppCompatActivity {

AbsoluteLayout layout;
// Squares translation for Ladders and Snakes
final int[] posLS = new int[]{0, 1, 38, 3, 4, 5, 6, 14, 31, 9, 10, 11, 12, 13,
        14, 26, 6, 17, 18, 19, 20, 42, 22, 23, 24, 25, 26, 27, 84, 29, 30, 31, 32, 33, 34, 35, 44,
        37, 38, 39, 40, 41, 42, 43, 44, 45, 25, 47, 48, 11, 50, 67, 52, 53, 54, 55, 56, 57, 58, 59,
        60, 61, 19, 63, 60, 65, 66, 67, 68, 69, 70, 91, 72, 73, 53, 75, 76, 77, 98, 79, 80, 81, 82,
        83, 84, 85, 86, 94, 88, 68, 90, 91, 88, 93, 94, 75, 96, 97, 98, 80, 100}; // Ladder/Snake
// X coordinates of squares on board
final int[] pcX = new int[]{210, 22, 58, 94, 130, 166, 202, 238, 274, 310, 346,
        346, 310, 274, 238, 202, 166, 130, 94, 58, 22, 22, 58, 94, 130, 166, 202, 238, 274, 310, 346,
        346, 310, 274, 238, 202, 166, 130, 94, 58, 22, 22, 58, 94, 130, 166, 202, 238, 274, 310,
        346, 346, 310, 274, 238, 202, 166, 130, 94, 58, 22, 22, 58, 94, 130, 166, 202, 238, 274,
        310, 346, 346, 310, 274, 238, 202, 166, 130, 94, 58, 22, 22, 58, 94, 130, 166, 202, 238,
        274, 310, 346, 346, 310, 274, 238, 202, 166, 130, 94, 58, 22, 22, 58, 94, 130, 166, 202};
// Y cordinates of squares on board
final int[] pcY = new int[]{405, 346, 346, 346, 346, 346, 346, 346, 346, 346,
        346, 310, 310, 310, 310, 310, 310, 310, 310, 310, 310, 274, 274, 274, 274, 274, 274, 274,
        274, 274, 274, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 202, 202, 202, 202, 202,
        202, 202, 202, 202, 202, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 130, 130, 130,
        130, 130, 130, 130, 130, 130, 130, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 58, 58, 58, 58, 58,
        58, 58, 58, 58, 58, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22};
ImageButton exit, restart, roll; // Buttons just below board
ImageView board, player, device, victory, defeat, draw; // Board, two pieces and three banners for game over
final int slowing = 200; // Delay between two piece jumps from square to square
int die = 0;
int playPos = 0; // At which square is Player
int playPosOld = 0;
int playPosNew = 0;
int devPos = 0; // At which square is Device
int devPosOld = 0;
int devPosNew = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    layout = (AbsoluteLayout) findViewById(R.id.layout);
    exit = (ImageButton) findViewById(R.id.exit);
    restart = (ImageButton) findViewById(R.id.restart);
    roll = (ImageButton) findViewById(R.id.roll);
    board = (ImageView) findViewById(R.id.board);
    player = (ImageView) findViewById(R.id.player);
    device = (ImageView) findViewById(R.id.device);
    draw = (ImageView) findViewById(R.id.draw);
    defeat = (ImageView) findViewById(R.id.defeat);
    victory = (ImageView) findViewById(R.id.victory);
    draw.setVisibility(View.INVISIBLE);
    defeat.setVisibility(View.INVISIBLE);
    victory.setVisibility(View.INVISIBLE);

BoardLS();
}

public void BoardLS() {
    exit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View ex) {
            finish();
            System.exit(0);
        }
    });
    restart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View re) {
            Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            finish();
            startActivity(i);
        }
    });
    roll.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View ro) {
            new Thread(new goMove()).start();
        }
    });
}

public void beep() {
    ToneGenerator beepSound = new ToneGenerator(AudioManager.STREAM_MUSIC, 60);
    beepSound.startTone(ToneGenerator.TONE_PROP_BEEP, 75);
} // Short sound for each piece step

public void waiting() {
    try { Thread.sleep(slowing); } catch(InterruptedException e) { }
} // Waits before next piece step

Handler playMove = new Handler() {
    @Override
    public void handleMessage(Message playMsg) {
        player.setX(pcX[playPos]);
        player.setY(pcY[playPos]);
    }
}; // Player piece on-screen movement

Handler devMove = new Handler(){
    @Override
    public void handleMessage(Message devMsg) {
        device.setX(pcX[devPos] + 10);
        device.setY(pcY[devPos] + 10);
    }
}; // Device piece on-screen movement

// This one rolls die, moves pieces, repeats roll and move if thrown was 6, shows banners for game over
// It was meant to work in separate thread to spare base one, but when "roll" button calls it, game crashes.
class goMove implements Runnable {
    @Override
    public void run() {
        if (playPosOld < 100 && devPosOld < 100) {
            roll.setEnabled(false);
            do {
                die = (int) (random() * 6 + 1);
                playPos = playPosOld;
                playPosNew = playPosOld + die;
                for (playPos = playPosOld; playPos <= playPosNew; playPos++) {
                    waiting();
                    beep();
                    playMove.sendEmptyMessage(0);
                }
                playPos--;
                if (playPos > 100) {
                    playPos = (100 - (playPos % 100));
                }
            } while (die == 6 && playPos < 100);
            playPosOld = posLS[playPos];
            playPos = playPosOld;
            playMove.sendEmptyMessage(0);
            do {
                die = (int) (random() * 6 + 1);
                devPos = devPosOld;
                devPosNew = devPosOld + die;
                for (devPos = devPosOld; devPos <= devPosNew; devPos++) {
                    waiting();
                    beep();
                    devMove.sendEmptyMessage(0);
                }
                devPos--;
                if (devPos > 100) {
                    devPos = (100 - (devPos % 100));
                }
            } while (die == 6 && devPos < 100);
            devPosOld = posLS[devPos];
            devPos = devPosOld;
            devMove.sendEmptyMessage(0);
        }
        if (playPosOld >= 100 && devPosOld < 100) {
            victory.setVisibility(View.VISIBLE);
        }
        if (playPosOld < 100 && devPosOld >= 100) {
            defeat.setVisibility(View.VISIBLE);
        }
        if (playPosOld >= 100 && devPosOld >= 100) {
            draw.setVisibility(View.VISIBLE);
        }
        roll.setEnabled(true);
    }
}
}

And here's the XML to show dimensions of elements. Board 400x400, pieces 22x22, and so on...

<?xml version="1.0" encoding="UTF-8"?>
<AbsoluteLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#202040"
tools:context="com.smilisav.boardls.MainActivity"
tools:layout_editor_absoluteX="0px"
tools:layout_editor_absoluteY="0px">

<ImageView
    android:id="@+id/board"
    android:layout_width="400px"
    android:layout_height="400px"
    app:srcCompat="@drawable/board400"
    android:layout_x="0px"
    android:layout_y="0px" />

<ImageButton
    android:id="@+id/exit"
    android:layout_width="99px"
    android:layout_height="40px"
    android:layout_x="0px"
    android:layout_y="401px"
    app:srcCompat="@drawable/exit" />

<ImageButton
    android:id="@+id/restart"
    android:layout_width="99px"
    android:layout_height="40px"
    android:layout_x="100px"
    android:layout_y="401px"
    app:srcCompat="@drawable/restart" />

<ImageButton
    android:id="@+id/roll"
    android:layout_width="149px"
    android:layout_height="40px"
    android:layout_x="250px"
    android:layout_y="400px"
    app:srcCompat="@drawable/roll" />

<ImageView
    android:id="@+id/player"
    android:layout_width="22px"
    android:layout_height="22px"
    android:layout_x="210px"
    android:layout_y="405px"
    app:srcCompat="@drawable/purple"/>

<ImageView
    android:id="@+id/device"
    android:layout_width="22px"
    android:layout_height="22px"
    android:layout_x="220px"
    android:layout_y="415px"
    app:srcCompat="@drawable/yellow"/>

<ImageView
    android:id="@+id/draw"
    android:layout_width="200px"
    android:layout_height="100px"
    android:layout_x="100px"
    android:layout_y="150px"
    app:srcCompat="@drawable/draw"/>

<ImageView
    android:id="@+id/defeat"
    android:layout_width="200px"
    android:layout_height="100px"
    android:layout_x="100px"
    android:layout_y="150px"
    app:srcCompat="@drawable/defeat"/>

<ImageView
    android:id="@+id/victory"
    android:layout_width="200px"
    android:layout_height="100px"
    android:layout_x="100px"
    android:layout_y="150px"
    app:srcCompat="@drawable/victory"/>

</AbsoluteLayout>

Recommended Answers

All 13 Replies

“Crashes” doesn’t tell us much. How about an error message and a stack dump?

Sorry.
When I click on Roll, game view slides down off sight and dialog opens with "Unfortunately, BoardLS has stopped [Ok]".

Going to find out how to get stack dump.

This is "Run .> MainActivity:

10/22 12:19:45: Launching MainActivity
$ adb install-multiple -r C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_0.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\dep\dependencies.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_5.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_6.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_9.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_8.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_7.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_4.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_1.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_2.apk C:\Java\BoardLS\app\build\intermediates\split-apk\debug\slices\slice_3.apk C:\Java\BoardLS\app\build\outputs\apk\app-debug.apk 
Split APKs installed
$ adb shell am start -n "com.smilisav.boardls/com.smilisav.boardls.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 3683 on device Nexus_S_API_22 [emulator-5554]
Application terminated.

And this is Event Log:

10/22/2017
12:18 PM    Platform and Plugin Updates: The following components are ready to update: Android Emulator, Intel x86 Emulator Accelerator (HAXM installer), Google APIs Intel x86 Atom System Image

12:18 PM    Gradle sync started

12:19 PM    Gradle sync completed

12:19 PM    Executing tasks: [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies]

12:19 PM    Gradle build finished in 4s 326ms

12:19 PM    Executing tasks: [:app:assembleDebug]

12:19 PM    Gradle build finished in 1s 880ms

12:20 PM    Instant Run applied code changes and restarted the app.
                (Don't show again)


BTW, those little physics applets were canceled. Guy came back and I was kicked.

Still trying to find out how to get stack traces.
Meanwhile moved roll button enable / disable instructions out of goMove -> run
and placed them before and after call in roll -> onClick.
That way you can play 3-4 moves before game stops and gets off the display.

    roll.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View ro) {
            roll.setEnabled(false);
            new Thread(new goMove()).start();
            roll.setEnabled(true);
        }
    });

(When I search for logs in Android studio after "debug", everything is empty.)

Just a random thought...
Are the array sizes ok? Visually it looks like pcX is bigger than pcY, so there’s a possible array index out of range???

Pasted them directrly from Java version.
Counted now, they still have 107 elements each (from 0 to 106).
Thanks.

I'm running in circles...

Last thing I could find was after last Debug, in emulator, its bug report was ending like this:

I/dumpstate( 9916): begin
D/        ( 9905): HostConnection::get() New Host Connection established 0xb60503d0, tid 9905
W/        ( 9905): Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
E/EGL_emulation( 1169): tid 1169: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)
I/art     ( 1945): Thread[5,tid=1951,WaitingInMainSignalCatcherLoop,Thread*=0xb4026c00,peer=0x12c020a0,"Signal Catcher"]: reacting to signal 3
D/gralloc_ranchu( 1169): gralloc_alloc: Creating ashmem region of size 1536000
D/        ( 9920): HostConnection::get() New Host Connection established 0xb60503d0, tid 9920
W/        ( 9920): Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
E/EGL_emulation( 1169): tid 1169: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)
I/art     ( 1945): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7006): Thread[5,tid=7014,WaitingInMainSignalCatcherLoop,Thread*=0xb4026c00,peer=0x12c000a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7006): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7024): Thread[5,tid=7033,WaitingInMainSignalCatcherLoop,Thread*=0xb4028000,peer=0x1ec070a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7024): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7124): Thread[5,tid=7130,WaitingInMainSignalCatcherLoop,Thread*=0xb4026c00,peer=0x12c070a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7124): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7168): Thread[5,tid=7176,WaitingInMainSignalCatcherLoop,Thread*=0xb4027800,peer=0x12c000a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7168): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7186): Thread[5,tid=7192,WaitingInMainSignalCatcherLoop,Thread*=0xb4026c00,peer=0x12c000a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7186): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7268): Thread[5,tid=7277,WaitingInMainSignalCatcherLoop,Thread*=0xb4027800,peer=0x12c070a0,"Signal Catcher"]: reacting to signal 3
I/art     ( 7268): Wrote stack traces to '/data/anr/traces.txt'
I/art     ( 7286): Thread[5,tid=7294,WaitingInMainSignalCatcherLoop,Thread*=0xb4026c00,peer=0x1ec070a0,"Signal Catcher"]: reacting to signal 3

But I couldn't find "traces.txt" anywhere.
Not even using C:\> DIR /S traces.txt

Then ran one more debug and after that the bug report got this at the end:

D/EGL_emulation(10394): eglMakeCurrent: 0xb427e3a0: ver 2 0
W/art     (10394): Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
I/am_activity_launch_time( 1945): [0,172345090,com.smilisav.boardls/.MainActivity,503,503]
I/ActivityManager( 1945): Displayed com.smilisav.boardls/.MainActivity: +503ms
I/sf_frame_dur( 1169): [com.google.android.googlequicksearchbox/com.google.android.launcher.GEL,51,0,0,0,1,0,2]
D/RILJ    ( 7186): [3758]> SIGNAL_STRENGTH [SUB0]
D/RIL     ( 1176): onRequest: SIGNAL_STRENGTH
D/AT      ( 1176): AT> AT+CSQ
D/AT      ( 1176): AT< +CSQ: 12,4,90,120,80,120,4,90,100,10,30,7,200
D/AT      ( 1176): AT< OK
D/RILC    ( 1176): RequestComplete, RIL_SOCKET_1
E/RILC    ( 1176): Send Response to RIL_SOCKET_1
D/RILJ    ( 7186): [3758]< SIGNAL_STRENGTH SignalStrength: 12 4 90 120 80 120 4 90 100 10 30 7 gsm|lte [SUB0]
D/DefaultPhoneNotifier( 7186): notifySignalStrength: mRegistry=com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy@2e9f82ae ss=SignalStrength: 12 4 -90 -120 -80 -120 4 90 -100 -10 30 7 gsm|lte sender=Handler (com.android.internal.telephony.gsm.GSMPhone) {234d9557}
D/TaskPersister( 1945): removeObsoleteFile: deleting file=7_task.xml
D/TaskPersister( 1945): removeObsoleteFile: deleting file=7_task_thumbnail.png
I/ActivityManager( 1945): Killing 8166:com.android.calendar/u0a18 (adj 15): empty #17
I/am_kill ( 1945): [0,8166,com.android.calendar,15,empty #17]
W/libprocessgroup( 1945): failed to open /acct/uid_10018/pid_8166/cgroup.procs: No such file or directory
I/am_proc_died( 1945): [0,8166,com.android.calendar]
I/dumpstate(10517): begin
D/gralloc_ranchu( 1169): gralloc_alloc: Creating ashmem region of size 1536000
D/        (10512): HostConnection::get() New Host Connection established 0xb60503d0, tid 10512
W/        (10512): Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
E/EGL_emulation( 1169): tid 1169: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)

How to find / make stack traces, please?

Sorry, I’m all OSX, IOS, Win10, don’t know android at all.

Thanks anyway.
Maybe someone else would know how to help?

Meanwhile also tried AsyncTask.
Also allows 3-4 moves and then game stops.
Inside is the same structure, which means the problem is inside the structure.
It modifies global variables, and I can't find "how Android feels about it".
Tried to remove those waiting(); to see if Thread.sleep is messing with something,
but it doesn't help either. It is separate thread and should be allowed to pause it at will.

I'm using handler to move pieces. Have to find out if handlers are also needed to
manage global variables.

And would LOVE to find good readable article, or YouTube video, about looper and messages.

~ * ~

Here is roll button onClick call with AsyncTask.
Nothing new, and I still haven't found out how to change the approach.

    roll.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View ro) {
            roll.setEnabled(false);

            AsyncTask.execute(new Runnable() {
                @Override
                public void run() {
                    if (playPosOld < 100 && devPosOld < 100) {
                        do {
                            playDie = (int) (random() * 6 + 1);
                            playPosNew = playPosOld + playDie;
                            for (playPos = playPosOld; playPos <= playPosNew; playPos++) {
                                waiting();
                                playMove.sendEmptyMessage(0);
                                beep();
                            }
                            playPos = playPosNew;
                            if (playPos > 100) {
                                playPos = (100 - (playPos % 100));
                            }
                            playPosOld = posLS[playPos];
                            playPos = playPosOld;
                        } while (playDie == 6 && playPos < 100);
                        waiting();
                        playMove.sendEmptyMessage(0);
                        waiting();
                        do {
                            devDie = (int) (random() * 6 + 1);
                            devPosNew = devPosOld + devDie;
                            for (devPos = devPosOld; devPos <= devPosNew; devPos++) {
                                waiting();
                                devMove.sendEmptyMessage(0);
                                beep();
                            }
                            devPos = devPosNew;
                            if (devPos > 100) {
                                devPos = (100 - (devPos % 100));
                            }
                            devPosOld = posLS[devPos];
                            devPos = devPosOld;
                        } while (devDie == 6 && devPos < 100);
                        waiting();
                        devMove.sendEmptyMessage(0);
                    }
                    if (playPosOld >= 100 && devPosOld < 100) {
                        victory.setVisibility(View.VISIBLE);
                    }
                    if (playPosOld < 100 && devPosOld >= 100) {
                        defeat.setVisibility(View.VISIBLE);
                    }
                    if (playPosOld >= 100 && devPosOld >= 100) {
                        draw.setVisibility(View.VISIBLE);
                    }
                }
            });

            roll.setEnabled(true);
        }
    });

Maybe you could use a try/catch for any Exception at the highest level in your code and see if you can output the message from there?

Yes, I might. Thanks.
On my way to split code into "cells" and add TRY on some of them.

~ * ~

Meanwhile found "One challenge in using threads is to consider the lifecycle of the application. The Android system may kill your activity or trigger a configuration change which will also restart your activity."

It is from "http://www.vogella.com/tutorials/AndroidBackgroundProcessing/article.html".

Tried to TRY parts and got nothing. Then fell asleep, couldn't go any more.
When I woke up I've put the whole parts of each piece movement into two TRY's, like this:

    roll.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            roll.setEnabled(false);

            AsyncTask.execute(new Runnable() {
                @Override
                public void run() {

                try {
                    if (playPosOld < 100) {
                        do {
                            playDie = (int) (random() * 6 + 1);
                            playPosNew = playPosOld + playDie;
                            for (playPos = playPosOld; playPos <= playPosNew; playPos++) {
                                waiting();
                                playMove.sendEmptyMessage(0);
                                beep();
                            }
                            playPos = playPosNew;
                            if (playPos > 100) {
                                playPos = (100 - (playPos % 100));
                            }
                            playPosOld = posLS[playPos];
                            playPos = playPosOld;
                        } while (playDie == 6 && playPos < 100);
                        waiting();
                        playMove.sendEmptyMessage(0);
                    }
                } catch (Exception e) { System.out.println(e.getMessage()); }

                }
            });

//                            waiting();

            AsyncTask.execute(new Runnable() {
                @Override
                public void run() {

                try {
                    if (devPosOld < 100) {
                        do {
                            devDie = (int) (random() * 6 + 1);
                            devPosNew = devPosOld + devDie;
                            for (devPos = devPosOld; devPos <= devPosNew; devPos++) {
                                waiting();
                                devMove.sendEmptyMessage(0);
                                beep();
                            }
                            devPos = devPosNew;
                            if (devPos > 100) {
                                devPos = (100 - (devPos % 100));
                            }
                            devPosOld = posLS[devPos];
                            devPos = devPosOld;
                        } while (devDie == 6 && devPos < 100);
                        waiting();
                        devMove.sendEmptyMessage(0);
                    }
                } catch (Exception e) { System.out.println(e.getMessage()); }

                    if (playPosOld >= 100 && devPosOld < 100) {
                        victory.setVisibility(View.VISIBLE);
                    }
                    if (playPosOld < 100 && devPosOld >= 100) {
                        defeat.setVisibility(View.VISIBLE);
                    }
                    if (playPosOld >= 100 && devPosOld >= 100) {
                        draw.setVisibility(View.VISIBLE);
                    }

                }
            });

            roll.setEnabled(true);
        }
    });

And I got this (don't know how it came out):

[ 10-23 22:07:48.141  6327: 6347 W/         ]
Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
10-23 22:07:48.142 6327-6347/com.smilisav.boardls I/OpenGLRenderer: Initialized EGL, version 1.4
10-23 22:07:48.142 6327-6347/com.smilisav.boardls W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
10-23 22:07:48.145 6327-6347/com.smilisav.boardls D/EGL_emulation: eglCreateContext: 0xb427f2e0: maj 2 min 0 rcv 2
10-23 22:07:48.158 6327-6347/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f2e0: ver 2 0
10-23 22:07:48.160 6327-6347/com.smilisav.boardls D/OpenGLRenderer: Enabling debug mode 0
10-23 22:07:48.175 6327-6347/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f2e0: ver 2 0
10-23 22:07:48.210 6327-6327/com.smilisav.boardls W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
10-23 22:07:48.261 2037-2321/system_process I/ActivityManager: Displayed com.smilisav.boardls/.MainActivity: +428ms
10-23 22:07:48.706 4130-6311/com.google.android.gms I/Icing: Indexing B9FDFA2FD83E5D581EE83918EF68677EA0D05461 from com.google.android.gms
10-23 22:07:48.719 4130-6311/com.google.android.gms I/Icing: Indexing 11895D06FF286B742E56DB0E3B5485914ECFA9D4 from com.google.android.googlequicksearchbox
10-23 22:07:48.773 4130-6311/com.google.android.gms I/Icing: Indexing done B9FDFA2FD83E5D581EE83918EF68677EA0D05461
10-23 22:07:48.789 4130-6311/com.google.android.gms I/Icing: Indexing done 11895D06FF286B742E56DB0E3B5485914ECFA9D4
10-23 22:07:59.543 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:08:04.909 2037-2322/system_process W/BatteryStatsImpl: Couldn't get kernel wake lock stats
10-23 22:08:18.391 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:08:28.157 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:08:29.628 1176-5917/? E/AudioMixer: AudioMixer::getTrackName out of available tracks
10-23 22:08:29.628 1176-5917/? E/AudioFlinger: no more track names available
10-23 22:08:29.628 1176-5917/? E/AudioFlinger: createTrack_l() initCheck failed -12; no control block?
10-23 22:08:29.629 6327-6980/com.smilisav.boardls E/AudioTrack: AudioFlinger could not create track, status: -12
10-23 22:08:29.629 6327-6980/com.smilisav.boardls E/ToneGenerator: AudioTrack->initCheck failed
10-23 22:08:29.629 6327-6980/com.smilisav.boardls E/ToneGenerator: ToneGenerator init failed
10-23 22:08:29.629 6327-6980/com.smilisav.boardls I/System.out: Init failed
10-23 22:08:29.831 1176-5784/? E/AudioMixer: AudioMixer::getTrackName out of available tracks
10-23 22:08:29.831 1176-5784/? E/AudioFlinger: no more track names available
10-23 22:08:29.831 1176-5784/? E/AudioFlinger: createTrack_l() initCheck failed -12; no control block?
10-23 22:08:29.831 6327-6980/com.smilisav.boardls E/AudioTrack: AudioFlinger could not create track, status: -12
10-23 22:08:29.832 6327-6980/com.smilisav.boardls E/ToneGenerator: AudioTrack->initCheck failed
10-23 22:08:29.832 6327-6980/com.smilisav.boardls E/ToneGenerator: ToneGenerator init failed
10-23 22:08:29.832 6327-6980/com.smilisav.boardls I/System.out: Init failed

With both blocks enclosed in TRY the game doesn't stop, but roll button stops responding at about the same point.

Next step is try without beep();

And make Handlers static, based on "http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.html".

Didn't make them static yet...

~ * ~

Commented out beep(); and game worked till the end, with tons of errors about Audio Track...
At the end died again, but it was something I should see earlier.
Had to pull those IF...setVISIBLE into another handler. Named it "banner".

Now can play all the way to the end, but reports are messy.
Have to see how to make this thing run cleaner.
And to find out how to add short tones. It is kind of "empty" when it's silent like this.
Another handler?

~ * ~

This is what AsyncTask parts looked like this time:

            AsyncTask.execute(new Runnable() {
                @Override
                public void run() {

                try {
                    if (playPosOld < 100) {
                        do {
                            playDie = (int) (random() * 6 + 1);
                            playPosNew = playPosOld + playDie;
                            for (playPos = playPosOld; playPos <= playPosNew; playPos++) {
                                waiting();
                                playMove.sendEmptyMessage(0);
        //                        beep();
                            }
                            playPos = playPosNew;
                            if (playPos > 100) {
                                playPos = (100 - (playPos % 100));
                            }
                            playPosOld = posLS[playPos];
                            playPos = playPosOld;
                        } while (playDie == 6 && playPos < 100);
                        waiting();
                        playMove.sendEmptyMessage(0);
                    }
                } catch (Exception e) { System.out.println(e.getMessage()); }

                }
            });

            AsyncTask.execute(new Runnable() {
                @Override
                public void run() {

                try {
                    if (devPosOld < 100) {
                        do {
                            devDie = (int) (random() * 6 + 1);
                            devPosNew = devPosOld + devDie;
                            for (devPos = devPosOld; devPos <= devPosNew; devPos++) {
                                waiting();
                                devMove.sendEmptyMessage(0);
        //                        beep();
                            }
                            devPos = devPosNew;
                            if (devPos > 100) {
                                devPos = (100 - (devPos % 100));
                            }
                            devPosOld = posLS[devPos];
                            devPos = devPosOld;
                        } while (devDie == 6 && devPos < 100);
                        waiting();
                        devMove.sendEmptyMessage(0);
                    }
                } catch (Exception e) { System.out.println(e.getMessage()); }

                banner.sendEmptyMessage(0);
                }
            });

And this is what they gave for one full game, with uninstall from emulator at the end:

10-23 22:55:56.262 17568-17568/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:56.263 17568-17568/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:56.285 17568-17568/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:56.285 17568-17568/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:56.294 17568-17568/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:56.300 17568-17568/? I/art: System.exit called, status: 0
10-23 22:55:56.300 17568-17568/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:55:56.530 17587-17587/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:56.530 17587-17587/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:56.553 17587-17587/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:56.553 17587-17587/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:56.564 17587-17587/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:56.568 17587-17587/? I/art: System.exit called, status: 0
10-23 22:55:56.568 17587-17587/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:55:59.228 4018-4129/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close gzi@2e4bf595
10-23 22:55:59.228 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:55:59.239 4018-17557/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Hotword detection finished
10-23 22:55:59.239 4018-4150/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Stopping hotword detection.
10-23 22:55:59.267 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:55:59.290 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:55:59.388 17603-17603/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:59.390 17603-17603/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:59.419 17603-17603/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:59.419 17603-17603/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:59.439 17603-17603/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:59.446 17603-17603/? I/art: System.exit called, status: 0
10-23 22:55:59.447 17603-17603/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:55:59.540 17617-17617/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:59.541 17617-17617/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:59.567 17617-17617/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:59.567 17617-17617/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:59.583 17617-17617/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:59.589 1177-1177/? I/installd: free_cache(59847) avail 1636515840
10-23 22:55:59.622 17617-17617/? I/art: System.exit called, status: 0
10-23 22:55:59.622 17617-17617/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:55:59.718 17632-17632/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:59.720 17632-17632/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:59.750 17632-17632/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:59.750 17632-17632/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:59.762 17632-17632/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:59.768 1177-1177/? I/installd: free_cache(516856) avail 1636458496
10-23 22:55:59.780 17632-17632/? I/art: System.exit called, status: 0
10-23 22:55:59.780 17632-17632/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:55:59.854 17647-17647/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:55:59.855 17647-17647/? D/AndroidRuntime: CheckJNI is ON
10-23 22:55:59.883 17647-17647/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:55:59.883 17647-17647/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:55:59.900 17647-17647/? D/AndroidRuntime: Calling main entry com.android.commands.pm.Pm
10-23 22:55:59.926 2037-2102/system_process I/art: Explicit concurrent mark sweep GC freed 27250(1795KB) AllocSpace objects, 11(258KB) LOS objects, 30% free, 9MB/13MB, paused 1.651ms total 22.511ms
10-23 22:56:00.008 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_dependencies_apk.apk to /data/app/vmdl369711387.tmp/split_lib_dependencies_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_0_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_0_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_1_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_1_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_3_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_3_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_4_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_4_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_5_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_5_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_6_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_6_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_7_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_7_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_8_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_8_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linking /data/app/com.smilisav.boardls-1/split_lib_slice_9_apk.apk to /data/app/vmdl369711387.tmp/split_lib_slice_9_apk.apk
10-23 22:56:00.009 2037-3526/system_process D/PackageInstaller: Linked 10 files into /data/app/vmdl369711387.tmp
10-23 22:56:00.023 2037-2374/system_process D/PackageManager: /data/app/vmdl369711387.tmp already staged; skipping copy
10-23 22:56:00.028 2037-2374/system_process W/PackageParser: Unknown element under <manifest>: meta-data at /data/app/vmdl369711387.tmp/base.apk Binary XML file line #11
10-23 22:56:00.111 2037-2374/system_process D/PackageManager: Renaming /data/app/vmdl369711387.tmp to /data/app/com.smilisav.boardls-2
10-23 22:56:00.111 2037-2261/system_process I/ActivityManager: Force stopping com.smilisav.boardls appid=10060 user=-1: uninstall pkg
10-23 22:56:00.131 2037-2374/system_process I/PackageManager: Package com.smilisav.boardls codePath changed from /data/app/com.smilisav.boardls-1 to /data/app/com.smilisav.boardls-2; Retaining data and using new
10-23 22:56:00.138 2037-2374/system_process I/PackageManager: Running dexopt on: /data/app/com.smilisav.boardls-2/base.apk pkg=com.smilisav.boardls isa=x86 vmSafeMode=false
10-23 22:56:00.143 17661-17661/? E/cutils-trace: Error opening trace file: Permission denied (13)
10-23 22:56:00.144 17661-17661/? I/dex2oat: /system/bin/dex2oat --zip-fd=5 --zip-location=/data/app/com.smilisav.boardls-2/base.apk --oat-fd=6 --oat-location=/data/dalvik-cache/x86/data@app@com.smilisav.boardls-2@base.apk@classes.dex --instruction-set=x86 --instruction-set-features=default --runtime-arg -Xms64m --runtime-arg -Xmx512m --swap-fd=11
10-23 22:56:00.146 17661-17661/? I/dex2oat: Decided to run without swap.
10-23 22:56:00.175 17661-17661/? I/dex2oat: dex2oat took 31.228ms (threads: 4) arena alloc=106KB java alloc=43KB native alloc=1397KB free=6MB
10-23 22:56:00.176 2037-2374/system_process W/PackageManager: Code path for pkg : com.smilisav.boardls changing from /data/app/com.smilisav.boardls-1 to /data/app/com.smilisav.boardls-2
10-23 22:56:00.176 2037-2374/system_process W/PackageManager: Resource path for pkg : com.smilisav.boardls changing from /data/app/com.smilisav.boardls-1 to /data/app/com.smilisav.boardls-2
10-23 22:56:00.176 2037-2261/system_process I/ActivityManager: Force stopping com.smilisav.boardls appid=10060 user=-1: update pkg
10-23 22:56:00.209 2037-2374/system_process I/ActivityManager: Force stopping com.smilisav.boardls appid=10060 user=0: pkg removed
10-23 22:56:00.219 4018-4018/com.google.android.googlequicksearchbox:search I/art: Explicit concurrent mark sweep GC freed 3004(147KB) AllocSpace objects, 2(689KB) LOS objects, 24% free, 4MB/5MB, paused 945us total 9.265ms
10-23 22:56:00.221 3739-3739/com.google.android.googlequicksearchbox I/art: Explicit concurrent mark sweep GC freed 12083(708KB) AllocSpace objects, 1(20KB) LOS objects, 40% free, 4MB/7MB, paused 1.264ms total 9.507ms
10-23 22:56:00.221 2037-2374/system_process W/Settings: Setting install_non_market_apps has moved from android.provider.Settings.Global to android.provider.Settings.Secure, returning read-only value.
10-23 22:56:00.222 3608-3608/com.android.systemui I/art: Explicit concurrent mark sweep GC freed 14981(585KB) AllocSpace objects, 0(0B) LOS objects, 39% free, 4MB/8MB, paused 551us total 10.678ms
10-23 22:56:00.227 2037-2037/system_process D/JobSchedulerService: Receieved: android.intent.action.PACKAGE_REMOVED
10-23 22:56:00.227 2037-2037/system_process D/BackupManagerService: Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.smilisav.boardls flg=0x4000010 (has extras) }
10-23 22:56:00.232 2037-3549/system_process I/InputReader: Reconfiguring input devices.  changes=0x00000010
10-23 22:56:00.240 2037-3549/system_process I/InputReader: Reconfiguring input devices.  changes=0x00000010
10-23 22:56:00.242 4130-4130/com.google.android.gms I/art: Explicit concurrent mark sweep GC freed 6814(320KB) AllocSpace objects, 1(16KB) LOS objects, 14% free, 11MB/13MB, paused 440us total 31.862ms
10-23 22:56:00.252 3980-4234/com.google.android.gms.persistent E/NetworkScheduler.SR: Unrecognised action provided: android.intent.action.PACKAGE_REMOVED
10-23 22:56:00.254 2037-2037/system_process D/BackupManagerService: Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.smilisav.boardls flg=0x4000010 (has extras) }
10-23 22:56:00.254 2037-2037/system_process W/BackupManagerService: Removing schedule queue dupe of com.smilisav.boardls
10-23 22:56:00.257 2037-2260/system_process W/InputMethodInfo: Duplicated subtype definition found: , voice
10-23 22:56:00.261 3739-3739/com.google.android.googlequicksearchbox W/Launcher: setApplicationContext called twice! old=com.google.android.velvet.VelvetApplication@e156169 new=com.google.android.velvet.VelvetApplication@e156169
10-23 22:56:00.272 17684-17684/? E/libprocessgroup: failed to make and chown /acct/uid_1000: Read-only file system
10-23 22:56:00.272 17684-17684/? W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
10-23 22:56:00.273 2037-2374/system_process I/art: Explicit concurrent mark sweep GC freed 38193(2MB) AllocSpace objects, 21(381KB) LOS objects, 30% free, 8MB/12MB, paused 1.101ms total 50.073ms
10-23 22:56:00.278 2037-2101/system_process I/ActivityManager: Start proc 17684:com.android.keychain/1000 for broadcast com.android.keychain/.KeyChainBroadcastReceiver
10-23 22:56:00.285 4130-17667/com.google.android.gms D/Wear_Controller: Received broadcast action=android.intent.action.PACKAGE_REMOVED and uri=com.smilisav.boardls
10-23 22:56:00.292 17684-17693/? I/art: Debugger is no longer active
10-23 22:56:00.295 17684-17684/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1692 android.content.ContextWrapper.startService:516 android.content.ContextWrapper.startService:516 com.android.keychain.KeyChainBroadcastReceiver.onReceive:12 android.app.ActivityThread.handleReceiver:2609 
10-23 22:56:00.300 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_dependencies_apk.apk, retcode=-1
10-23 22:56:00.300 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_0_apk.apk, retcode=-1
10-23 22:56:00.300 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_1_apk.apk, retcode=-1
10-23 22:56:00.300 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_2_apk.apk, retcode=-1
10-23 22:56:00.300 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_3_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_4_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_5_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_6_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_7_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_8_apk.apk, retcode=-1
10-23 22:56:00.301 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-1/split_lib_slice_9_apk.apk, retcode=-1
10-23 22:56:00.305 17647-17647/? I/art: System.exit called, status: 0
10-23 22:56:00.305 17647-17647/? I/AndroidRuntime: VM exiting with result code 0.
10-23 22:56:00.318 4130-17673/com.google.android.gms D/Wear_Controller: Received broadcast action=android.intent.action.PACKAGE_ADDED and uri=com.smilisav.boardls
10-23 22:56:00.327 4018-17705/com.google.android.googlequicksearchbox:search I/UpdateIcingCorporaServi: Updating corpora: APPS=com.smilisav.boardls, CONTACTS=MAYBE
10-23 22:56:00.397 4130-4274/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=32
10-23 22:56:00.397 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=36
10-23 22:56:00.400 4130-17682/com.google.android.gms I/FontsPackageChangeOp: Package com.smilisav.boardls has no metadata
10-23 22:56:00.416 4130-4207/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.googlequicksearchbox componentName=null serviceId=21
10-23 22:56:00.481 3739-3739/com.google.android.googlequicksearchbox E/AppsCustomizePagedView: Widget ComponentInfo{com.google.android.googlequicksearchbox/com.google.android.apps.sidekick.widget.PredictiveCardsWidgetProvider} can not fit on this device (450, 375)
10-23 22:56:00.493 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:56:00.504 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:56:00.508 3739-3739/com.google.android.googlequicksearchbox W/Launcher: setApplicationContext called twice! old=com.google.android.velvet.VelvetApplication@e156169 new=com.google.android.velvet.VelvetApplication@e156169
10-23 22:56:00.509 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload true
10-23 22:56:00.511 4018-17705/com.google.android.googlequicksearchbox:search I/ApplicationLogger: canRun() : Opted Out
10-23 22:56:00.511 4018-17705/com.google.android.googlequicksearchbox:search I/UpdateIcingCorporaServi: UpdateCorporaTask done [took 184 ms] updated apps [took 183 ms] 
10-23 22:56:00.521 4130-4207/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=36
10-23 22:56:00.521 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=32
10-23 22:56:00.536 4130-17709/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:56:00.542 4130-17709/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:56:00.647 17713-17713/? D/AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
10-23 22:56:00.649 17713-17713/? D/AndroidRuntime: CheckJNI is ON
10-23 22:56:00.673 17713-17713/? E/memtrack: Couldn't load memtrack module (No such file or directory)
10-23 22:56:00.673 17713-17713/? E/android.os.Debug: failed to load memtrack module: -2
10-23 22:56:00.684 17713-17713/? D/AndroidRuntime: Calling main entry com.android.commands.am.Am
10-23 22:56:00.688 2037-3538/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.smilisav.boardls/.MainActivity} from uid 0 on display 0
10-23 22:56:00.690 2037-3538/system_process V/WindowManager: addAppToken: AppWindowToken{16033970 token=Token{3671fb3 ActivityRecord{109b7922 u0 com.smilisav.boardls/.MainActivity t22}}} to stack=1 task=22 at 0
10-23 22:56:00.692 17713-17713/? D/AndroidRuntime: Shutting down VM
10-23 22:56:00.693 2037-2321/system_process V/WindowManager: Adding window Window{2c8cd22b u0 Starting com.smilisav.boardls} at 2 of 5 (after Window{9e7ce0b u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL})
10-23 22:56:00.700 17725-17725/? E/libprocessgroup: failed to make and chown /acct/uid_10060: Read-only file system
10-23 22:56:00.700 17725-17725/? W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
10-23 22:56:00.700 17725-17725/? I/art: Not late-enabling -Xcheck:jni (already on)
10-23 22:56:00.705 2037-5974/system_process I/ActivityManager: Start proc 17725:com.smilisav.boardls/u0a60 for activity com.smilisav.boardls/.MainActivity
10-23 22:56:00.738 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:56:00.738 1167-1493/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 1536000
10-23 22:56:00.811 2037-3538/system_process W/ActivityManager: getRunningAppProcesses: caller 10060 does not hold REAL_GET_TASKS; limiting output
10-23 22:56:00.811 17725-17725/? I/InstantRun: starting instant run server: is main process
10-23 22:56:00.866 17725-17725/? W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
10-23 22:56:01.003 17725-17744/? D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

                                               [ 10-23 22:56:01.004 17725:17725 D/         ]
                                               HostConnection::get() New Host Connection established 0xb42e8560, tid 17725

                                               [ 10-23 22:56:01.005 17725:17725 W/         ]
                                               Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
10-23 22:56:01.006 17725-17725/? D/Atlas: Validating map...
10-23 22:56:01.007 2037-5974/system_process V/WindowManager: Adding window Window{35cfdea0 u0 com.smilisav.boardls/com.smilisav.boardls.MainActivity} at 2 of 6 (before Window{2c8cd22b u0 Starting com.smilisav.boardls})

                                                         [ 10-23 22:56:01.041 17725:17744 D/         ]
                                                         HostConnection::get() New Host Connection established 0xb435db50, tid 17744

                                                         [ 10-23 22:56:01.042 17725:17744 W/         ]
                                                         Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
10-23 22:56:01.043 17725-17744/? I/OpenGLRenderer: Initialized EGL, version 1.4
10-23 22:56:01.044 17725-17744/? W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
10-23 22:56:01.046 17725-17744/? D/EGL_emulation: eglCreateContext: 0xb427f460: maj 2 min 0 rcv 2
10-23 22:56:01.062 17725-17744/? D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:56:01.064 17725-17744/? D/OpenGLRenderer: Enabling debug mode 0
10-23 22:56:01.087 17725-17744/? D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:56:01.118 17725-17725/? W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
10-23 22:56:01.178 2037-2321/system_process I/ActivityManager: Displayed com.smilisav.boardls/.MainActivity: +485ms
10-23 22:56:01.512 4130-11892/com.google.android.gms I/Icing: Indexing 11895D06FF286B742E56DB0E3B5485914ECFA9D4 from com.google.android.googlequicksearchbox
10-23 22:56:01.540 4130-11892/com.google.android.gms I/Icing: Indexing done 11895D06FF286B742E56DB0E3B5485914ECFA9D4
10-23 22:56:01.541 4130-11892/com.google.android.gms I/Icing: Indexing B9FDFA2FD83E5D581EE83918EF68677EA0D05461 from com.google.android.gms
10-23 22:56:01.559 4130-11892/com.google.android.gms I/Icing: Indexing done B9FDFA2FD83E5D581EE83918EF68677EA0D05461
10-23 22:56:04.193 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=21_task.xml
10-23 22:56:04.193 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=21_task_thumbnail.png
10-23 22:56:09.003 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:13.755 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:17.058 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:19.370 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:22.107 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:26.986 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:30.907 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:35.491 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:39.298 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:41.730 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:44.858 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:47.570 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:51.074 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:54.123 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:56.531 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:56:59.226 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:02.458 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:06.354 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:08.833 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:11.338 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:15.162 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:17.522 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:20.954 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:24.146 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:27.369 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:33.402 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:33.406 1167-1491/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 331776
10-23 22:57:33.412 1167-1167/? E/EGL_emulation: tid 1167: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)
10-23 22:57:33.422 2037-3946/system_process I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x14000000 pkg=com.smilisav.boardls cmp=com.smilisav.boardls/.MainActivity} from uid 10060 on display 0
10-23 22:57:33.423 2037-3946/system_process V/WindowManager: addAppToken: AppWindowToken{37b21fcd token=Token{a146164 ActivityRecord{52cdef7 u0 com.smilisav.boardls/.MainActivity t23}}} to stack=1 task=23 at 0
10-23 22:57:33.425 2037-2321/system_process V/WindowManager: Adding window Window{9e878fc u0 Starting com.smilisav.boardls} at 3 of 6 (after Window{35cfdea0 u0 com.smilisav.boardls/com.smilisav.boardls.MainActivity})
10-23 22:57:33.436 2037-4738/system_process V/WindowManager: Adding window Window{4754dda u0 com.smilisav.boardls/com.smilisav.boardls.MainActivity} at 3 of 7 (before Window{9e878fc u0 Starting com.smilisav.boardls})
10-23 22:57:33.462 1167-1491/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 1536000
10-23 22:57:33.479 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:33.480 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:33.506 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:33.519 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:33.540 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:33.548 17725-17744/com.smilisav.boardls D/OpenGLRenderer: endAllStagingAnimators on 0xa4859600 (RippleDrawable) with handle 0xa48a0740
10-23 22:57:33.555 2037-2321/system_process I/ActivityManager: Displayed com.smilisav.boardls/.MainActivity: +129ms
10-23 22:57:34.257 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:34.266 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:37.442 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=22_task.xml
10-23 22:57:37.442 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=22_task_thumbnail.png
10-23 22:57:39.590 17725-17744/com.smilisav.boardls D/EGL_emulation: eglMakeCurrent: 0xb427f460: ver 2 0
10-23 22:57:39.698 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:39.701 1167-2872/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 331776

                                             [ 10-23 22:57:39.703  2037: 5974 D/         ]
                                             HostConnection::get() New Host Connection established 0x9d1565b0, tid 5974

                                             [ 10-23 22:57:39.704  2037: 5974 W/         ]
                                             Unrecognized GLES max version string in extensions: ANDROID_EMU_CHECKSUM_HELPER_v1 
10-23 22:57:39.707 1167-1167/? E/EGL_emulation: tid 1167: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)
10-23 22:57:39.728 17725-17725/com.smilisav.boardls I/art: System.exit called, status: 0
10-23 22:57:39.728 17725-17725/com.smilisav.boardls I/AndroidRuntime: VM exiting with result code 0, cleanup skipped.
10-23 22:57:39.730 2037-3548/system_process W/InputDispatcher: channel '4754dda com.smilisav.boardls/com.smilisav.boardls.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
10-23 22:57:39.730 2037-3548/system_process E/InputDispatcher: channel '4754dda com.smilisav.boardls/com.smilisav.boardls.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
10-23 22:57:39.731 2037-4732/system_process I/WindowState: WIN DEATH: Window{4754dda u0 com.smilisav.boardls/com.smilisav.boardls.MainActivity}
10-23 22:57:39.731 2037-3775/system_process W/libprocessgroup: failed to open /acct/uid_10060/pid_17725/cgroup.procs: No such file or directory
10-23 22:57:39.731 2037-4732/system_process W/InputDispatcher: Attempted to unregister already unregistered input channel '4754dda com.smilisav.boardls/com.smilisav.boardls.MainActivity (server)'
10-23 22:57:39.731 2037-3775/system_process I/ActivityManager: Process com.smilisav.boardls (pid 17725) has died
10-23 22:57:39.761 3739-4095/com.google.android.googlequicksearchbox I/OpenGLRenderer: Initialized EGL, version 1.4
10-23 22:57:39.762 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglCreateContext: 0xaf527280: maj 2 min 0 rcv 2
10-23 22:57:39.767 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:39.779 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:39.793 2037-4125/system_process W/InputMethodManagerService: Got RemoteException sending setActive(false) notification to pid 17725 uid 10060
10-23 22:57:43.268 3739-4095/com.google.android.googlequicksearchbox V/RenderScript: 0xaf54f800 Launching thread(s), CPUs 4
10-23 22:57:43.282 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:43.297 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:44.555 2037-2101/system_process I/ActivityManager: START u0 {act=android.intent.action.DELETE dat=package:com.smilisav.boardls flg=0x10800000 cmp=com.android.packageinstaller/.UninstallerActivity (has extras)} from uid 10013 on display 0
10-23 22:57:44.556 2037-2101/system_process V/WindowManager: addAppToken: AppWindowToken{2fcaf8df token=Token{15278b7e ActivityRecord{142c5939 u0 com.android.packageinstaller/.UninstallerActivity t24}}} to stack=1 task=24 at 0
10-23 22:57:44.572 2037-3775/system_process V/WindowManager: Adding window Window{1b9043fb u0 com.android.packageinstaller/com.android.packageinstaller.UninstallerActivity} at 2 of 5 (after Window{9e7ce0b u0 com.google.android.googlequicksearchbox/com.google.android.launcher.GEL})
10-23 22:57:44.576 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:44.578 4018-19298/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_starting gzi@2f67e275
10-23 22:57:44.580 1176-5783/? E/audio_hw_generic: Error opening input stream format 1, channel_mask 0010, sample_rate 16000
10-23 22:57:44.580 2037-4738/system_process V/WindowManager: Adding window Window{253f88ad u0 com.android.packageinstaller/com.android.packageinstaller.UninstallerActivity} at 2 of 6 (before Window{1b9043fb u0 com.android.packageinstaller/com.android.packageinstaller.UninstallerActivity})
10-23 22:57:44.581 4018-19299/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Starting hotword detection.
10-23 22:57:44.581 1176-19301/? I/AudioFlinger: AudioFlinger's thread 0xb543c000 ready to run
10-23 22:57:44.584 4018-19298/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started gzi@2f67e275
10-23 22:57:44.585 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.googlequicksearchbox componentName=null serviceId=21
10-23 22:57:44.596 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:44.599 4018-4018/com.google.android.googlequicksearchbox:search I/HotwordWorker: onReady
10-23 22:57:44.599 4130-11892/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload true
10-23 22:57:44.602 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:44.617 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:44.640 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:44.657 2037-2321/system_process I/ActivityManager: Displayed com.android.packageinstaller/.UninstallerActivity: +97ms
10-23 22:57:45.566 3608-3608/com.android.systemui W/ResourceType: No package identifier when getting value for resource number 0x00000000
10-23 22:57:45.566 3608-3608/com.android.systemui W/PackageManager: Failure retrieving resources for com.smilisav.boardls: Resource ID #0x0
10-23 22:57:46.322 2037-3575/system_process W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client
10-23 22:57:46.324 2037-4125/system_process I/ActivityManager: START u0 {act=android.intent.action.VIEW cmp=com.android.packageinstaller/.UninstallAppProgress (has extras)} from uid 10041 on display 0
10-23 22:57:46.325 2037-4125/system_process V/WindowManager: addAppToken: AppWindowToken{19f621eb token=Token{2888c13a ActivityRecord{12b62065 u0 com.android.packageinstaller/.UninstallAppProgress t24}}} to stack=1 task=24 at 1
10-23 22:57:46.330 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.336 5922-5944/com.android.packageinstaller D/OpenGLRenderer: endAllStagingAnimators on 0xb4194680 (RippleDrawable) with handle 0xaf439700
10-23 22:57:46.341 4018-4129/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_close gzi@2f67e275
10-23 22:57:46.344 4018-4150/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Stopping hotword detection.
10-23 22:57:46.344 4018-19299/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Hotword detection finished
10-23 22:57:46.347 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:46.353 2037-2261/system_process I/ActivityManager: Force stopping com.smilisav.boardls appid=10060 user=-1: uninstall pkg
10-23 22:57:46.355 2037-2101/system_process V/WindowManager: Adding window Window{12b1b706 u0 com.android.packageinstaller/com.android.packageinstaller.UninstallAppProgress} at 4 of 7 (after Window{1b9043fb u0 com.android.packageinstaller/com.android.packageinstaller.UninstallerActivity EXITING})
10-23 22:57:46.363 2037-2374/system_process I/ActivityManager: Force stopping com.smilisav.boardls appid=10060 user=0: pkg removed
10-23 22:57:46.377 3739-3739/com.google.android.googlequicksearchbox I/art: Explicit concurrent mark sweep GC freed 12565(687KB) AllocSpace objects, 9(211KB) LOS objects, 25% free, 4MB/5MB, paused 531us total 10.714ms
10-23 22:57:46.386 4018-4018/com.google.android.googlequicksearchbox:search I/art: Explicit concurrent mark sweep GC freed 2584(126KB) AllocSpace objects, 2(689KB) LOS objects, 25% free, 4MB/5MB, paused 567us total 14.230ms
10-23 22:57:46.387 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=23_task.xml
10-23 22:57:46.387 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=20_task_thumbnail.png
10-23 22:57:46.387 2037-3588/system_process D/TaskPersister: removeObsoleteFile: deleting file=23_task_thumbnail.png
10-23 22:57:46.387 3608-3608/com.android.systemui I/art: Explicit concurrent mark sweep GC freed 1999(87KB) AllocSpace objects, 0(0B) LOS objects, 40% free, 5MB/8MB, paused 676us total 11.171ms
10-23 22:57:46.388 3980-3980/com.google.android.gms.persistent I/GeofencerStateMachine: removeGeofences: removeRequest=RemoveGeofencingRequest[REMOVE_ALL packageName=com.smilisav.boardls]
10-23 22:57:46.390 2037-3549/system_process I/InputReader: Reconfiguring input devices.  changes=0x00000010
10-23 22:57:46.402 3888-19305/android.process.acore D/VoicemailCleanupService: Cleaning up data for package: com.smilisav.boardls
10-23 22:57:46.405 3662-3953/com.android.inputmethod.latin I/LatinIME:LogUtils: Dictionary info: dictionary = main:en ; version = 47 ; date = 1402373178
10-23 22:57:46.406 2037-2260/system_process W/InputMethodInfo: Duplicated subtype definition found: , voice
10-23 22:57:46.410 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.411 4130-4130/com.google.android.gms I/art: Explicit concurrent mark sweep GC freed 3961(193KB) AllocSpace objects, 1(16KB) LOS objects, 14% free, 11MB/13MB, paused 2.220ms total 36.759ms
10-23 22:57:46.429 5922-5922/com.android.packageinstaller I/art: Explicit concurrent mark sweep GC freed 2574(145KB) AllocSpace objects, 1(20KB) LOS objects, 58% free, 733KB/1757KB, paused 442us total 6.692ms
10-23 22:57:46.431 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.431 2037-2037/system_process I/art: Explicit concurrent mark sweep GC freed 24124(1429KB) AllocSpace objects, 7(112KB) LOS objects, 29% free, 9MB/13MB, paused 813us total 48.907ms
10-23 22:57:46.434 2037-2374/system_process I/art: WaitForGcToComplete blocked for 28.596ms for cause Explicit
10-23 22:57:46.438 3739-3739/com.google.android.googlequicksearchbox I/Launcher: Deferring update until onResume
10-23 22:57:46.441 2037-2037/system_process D/JobSchedulerService: Receieved: android.intent.action.PACKAGE_REMOVED
10-23 22:57:46.441 2037-2037/system_process D/BackupManagerService: Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.smilisav.boardls flg=0x4000010 (has extras) }
10-23 22:57:46.444 5922-5922/com.android.packageinstaller I/art: Explicit concurrent mark sweep GC freed 3054(199KB) AllocSpace objects, 1(20KB) LOS objects, 66% free, 514KB/1538KB, paused 439us total 5.992ms
10-23 22:57:46.447 4018-19321/com.google.android.googlequicksearchbox:search I/UpdateIcingCorporaServi: Updating corpora: APPS=com.smilisav.boardls, CONTACTS=MAYBE
10-23 22:57:46.454 5922-5922/com.android.packageinstaller I/art: Explicit concurrent mark sweep GC freed 5(160B) AllocSpace objects, 0(0B) LOS objects, 66% free, 514KB/1538KB, paused 2.109ms total 9.444ms
10-23 22:57:46.460 4130-19313/com.google.android.gms D/Wear_Controller: Received broadcast action=android.intent.action.PACKAGE_REMOVED and uri=com.smilisav.boardls
10-23 22:57:46.460 3739-3739/com.google.android.googlequicksearchbox W/Launcher: setApplicationContext called twice! old=com.google.android.velvet.VelvetApplication@e156169 new=com.google.android.velvet.VelvetApplication@e156169
10-23 22:57:46.461 4130-19313/com.google.android.gms I/LocationSettingsChecker: Removing dialog suppression flag for package com.smilisav.boardls
10-23 22:57:46.471 17684-17684/com.android.keychain W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1692 android.content.ContextWrapper.startService:516 android.content.ContextWrapper.startService:516 com.android.keychain.KeyChainBroadcastReceiver.onReceive:12 android.app.ActivityThread.handleReceiver:2609 
10-23 22:57:46.473 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.492 3739-3739/com.google.android.googlequicksearchbox I/Launcher: Deferring update until onResume
10-23 22:57:46.496 2037-2374/system_process I/art: Explicit concurrent mark sweep GC freed 4525(235KB) AllocSpace objects, 2(648KB) LOS objects, 30% free, 9MB/13MB, paused 1.050ms total 59.922ms
10-23 22:57:46.503 4130-6311/com.google.android.gms I/Icing: doRemovePackageData com.smilisav.boardls
10-23 22:57:46.504 4130-4207/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=32
10-23 22:57:46.506 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.gms componentName=AppsCorpus serviceId=36
10-23 22:57:46.514 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.googlequicksearchbox componentName=null serviceId=21
10-23 22:57:46.517 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:57:46.518 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_dependencies_apk.apk, retcode=-1
10-23 22:57:46.519 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_0_apk.apk, retcode=-1
10-23 22:57:46.519 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_1_apk.apk, retcode=-1
10-23 22:57:46.519 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_2_apk.apk, retcode=-1
10-23 22:57:46.519 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_3_apk.apk, retcode=-1
10-23 22:57:46.519 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_4_apk.apk, retcode=-1
10-23 22:57:46.520 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_5_apk.apk, retcode=-1
10-23 22:57:46.522 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_6_apk.apk, retcode=-1
10-23 22:57:46.522 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_7_apk.apk, retcode=-1
10-23 22:57:46.522 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_8_apk.apk, retcode=-1
10-23 22:57:46.522 2037-2374/system_process W/PackageManager: Couldn't remove dex file for package:  at location /data/app/com.smilisav.boardls-2/split_lib_slice_9_apk.apk, retcode=-1
10-23 22:57:46.531 19330-19330/? E/libprocessgroup: failed to make and chown /acct/uid_10025: Read-only file system
10-23 22:57:46.531 19330-19330/? W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
10-23 22:57:46.537 2037-2037/system_process I/ActivityManager: Start proc 19330:com.android.documentsui/u0a25 for broadcast com.android.documentsui/.PackageReceiver
10-23 22:57:46.542 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload false
10-23 22:57:46.563 1167-1491/? D/gralloc_ranchu: gralloc_alloc: Creating ashmem region of size 331776
10-23 22:57:46.570 1167-1167/? E/EGL_emulation: tid 1167: eglCreateSyncKHR(1865): error 0x3004 (EGL_BAD_ATTRIBUTE)
10-23 22:57:46.585 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload true
10-23 22:57:46.586 4018-19321/com.google.android.googlequicksearchbox:search I/ApplicationLogger: canRun() : Opted Out
10-23 22:57:46.586 4018-19321/com.google.android.googlequicksearchbox:search I/UpdateIcingCorporaServi: UpdateCorporaTask done [took 139 ms] updated apps [took 139 ms] 
10-23 22:57:46.602 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:46.617 3739-3739/com.google.android.googlequicksearchbox E/AppsCustomizePagedView: Widget ComponentInfo{com.google.android.googlequicksearchbox/com.google.android.apps.sidekick.widget.PredictiveCardsWidgetProvider} can not fit on this device (450, 375)
10-23 22:57:46.617 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.617 19350-19350/? E/libprocessgroup: failed to make and chown /acct/uid_10006: Read-only file system
10-23 22:57:46.617 19350-19350/? W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?
10-23 22:57:46.624 2037-5974/system_process I/ActivityManager: Start proc 19350:com.android.externalstorage/u0a6 for content provider com.android.externalstorage/.ExternalStorageProvider
10-23 22:57:46.631 5922-5944/com.android.packageinstaller D/EGL_emulation: eglMakeCurrent: 0xaf434dc0: ver 2 0
10-23 22:57:46.639 19350-19359/? E/art: Failed sending reply to debugger: Broken pipe
10-23 22:57:46.639 19350-19359/? I/art: Debugger is no longer active
10-23 22:57:46.651 19350-19350/? D/ExternalStorage: After updating volumes, found 1 active roots
10-23 22:57:46.659 19330-19349/com.android.documentsui D/Documents: Update found 6 roots in 65ms
10-23 22:57:46.662 19330-19368/com.android.documentsui D/Documents: Update found 6 roots in 10ms
10-23 22:57:46.671 4018-19369/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_starting gzi@3e269047
10-23 22:57:46.672 4130-4276/com.google.android.gms I/Icing: IndexChimeraService.getServiceInterface callingPackage=com.google.android.googlequicksearchbox componentName=null serviceId=21
10-23 22:57:46.673 4018-19370/com.google.android.googlequicksearchbox:search I/HotwordRecognitionRnr: Starting hotword detection.
10-23 22:57:46.675 1176-1533/? E/audio_hw_generic: Error opening input stream format 1, channel_mask 0010, sample_rate 16000
10-23 22:57:46.676 1176-19372/? I/AudioFlinger: AudioFlinger's thread 0xb592f000 ready to run
10-23 22:57:46.678 4018-19369/com.google.android.googlequicksearchbox:search I/MicrophoneInputStream: mic_started gzi@3e269047
10-23 22:57:46.681 4130-11893/com.google.android.gms I/Icing: Usage reports 0 indexed 0 rejected 0 imm upload true
10-23 22:57:46.690 4018-4018/com.google.android.googlequicksearchbox:search I/HotwordWorker: onReady
10-23 22:57:47.146 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:47.188 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:47.189 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:47.190 3739-4095/com.google.android.googlequicksearchbox W/OpenGLRenderer: Incorrectly called buildLayer on View: aep, destroying layer...
10-23 22:57:47.191 3739-4095/com.google.android.googlequicksearchbox D/EGL_emulation: eglMakeCurrent: 0xaf527280: ver 2 0
10-23 22:57:47.543 4130-11893/com.google.android.gms I/Icing: Indexing B9FDFA2FD83E5D581EE83918EF68677EA0D05461 from com.google.android.gms
10-23 22:57:47.546 4130-11893/com.google.android.gms I/Icing: Indexing done B9FDFA2FD83E5D581EE83918EF68677EA0D05461
10-23 22:57:47.587 4130-11893/com.google.android.gms I/Icing: Indexing 11895D06FF286B742E56DB0E3B5485914ECFA9D4 from com.google.android.googlequicksearchbox
10-23 22:57:47.620 4130-11893/com.google.android.gms I/Icing: Indexing done 11895D06FF286B742E56DB0E3B5485914ECFA9D4

Problem with beep(); was this:

public void beep() {
    ToneGenerator beepSound = new ToneGenerator(AudioManager.STREAM_MUSIC, 60);
    beepSound.startTone(ToneGenerator.TONE_PROP_BEEP, 75);
} // Short sound for each piece step

and the solution was this:

public void beep() {
    ToneGenerator beepSound = new ToneGenerator(AudioManager.STREAM_MUSIC, 60);
    beepSound.startTone(ToneGenerator.TONE_PROP_BEEP, 75);
    beepSound.release();
} // Short sound for each piece step

I didn't know that startTone will not end by itself when sound is over.

Ok, I think I can close this topic. Thank you very much.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.