M app/src/main/java/net/hokiegeek/qwingoroller/MainActivity.kt => app/src/main/java/net/hokiegeek/qwingoroller/MainActivity.kt +17 -29
@@ 6,10 6,13 @@ import android.hardware.SensorEvent
import android.hardware.SensorEventListener
import android.hardware.SensorManager
import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
import android.util.Log
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout
+import com.bumptech.glide.Glide
import kotlin.math.sqrt
import kotlin.random.Random
@@ 24,26 27,18 @@ class MainActivity : AppCompatActivity() {
*/
private const val SHAKE_THRESHOLD_GRAVITY = 2.7f
private const val SHAKE_SLOP_TIME_MS = 500
- // private const val SHAKE_COUNT_RESET_TIME_MS = 3000
}
private val logTag = "QWINGO"
- private var mSensorMgr: SensorManager? = null
-
- // blue coffee cup
- // green watermelon
- // pink tomato
- // purple ice cream cone
- // yellow banana
- // silver (on black) lighting
-
private val dieColors = arrayOf(R.color.die_green, R.color.die_blue, R.color.die_pink, R.color.die_purple, R.color.die_yellow, R.color.black)
+
private val dieFaces = arrayOf(R.drawable.watermelon, R.drawable.cup, R.drawable.tomato, R.drawable.cone, R.drawable.banana, R.drawable.lightning)
+ private var mSensorMgr: SensorManager? = null
+
private val mSensorListener = object : SensorEventListener {
private var mShakeTimestamp: Long = 0
- // private var mShakeCount = 0
override fun onSensorChanged(se: SensorEvent) {
val gX = se.values[0] / SensorManager.GRAVITY_EARTH
val gY = se.values[1] / SensorManager.GRAVITY_EARTH
@@ 57,16 52,10 @@ class MainActivity : AppCompatActivity() {
return
}
// reset the shake count after 3 seconds of no shakes
- /*
- if (mShakeTimestamp + SHAKE_COUNT_RESET_TIME_MS < now) {
- mShakeCount = 0
- }
- */
mShakeTimestamp = now
- // mShakeCount++
- Log.d(logTag, "ACTION: shake?")
+
+ Log.d(logTag, "ACTION: shake")
roll()
- // mListener!!.onShake(mShakeCount)
}
}
@@ 93,21 82,20 @@ class MainActivity : AppCompatActivity() {
}
override fun onPause() {
- mSensorMgr?.unregisterListener(mSensorListener);
+ mSensorMgr?.unregisterListener(mSensorListener)
super.onPause()
}
private fun roll() {
Log.d(logTag, "roll!")
- val selection = Random.nextInt(dieFaces.size)
- findViewById<ImageView>(R.id.dieFace).setImageResource(dieFaces[selection]);
- findViewById<ConstraintLayout>(R.id.layout).setBackgroundResource(dieColors[selection])
- }
-
- /*
- (new Handler()).postDelayed(this::yourMethod, 5000);
+ findViewById<ConstraintLayout>(R.id.layout).setBackgroundResource(R.color.loading_background)
+ Glide.with(this).load(R.raw.hamster).into(findViewById(R.id.dieFace))
- Glide.with(this).load(R.raw.hamster).into(findViewById<ImageView>(R.id.loading));
- */
+ Handler(Looper.getMainLooper()).postDelayed({
+ val selection = Random.nextInt(dieFaces.size)
+ findViewById<ImageView>(R.id.dieFace).setImageResource(dieFaces[selection])
+ findViewById<ConstraintLayout>(R.id.layout).setBackgroundResource(dieColors[selection])
+ }, Random.nextLong(1500) + 800L)
+ }
}
M app/src/main/res/layout/activity_main.xml => app/src/main/res/layout/activity_main.xml +4 -4
@@ 13,10 13,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/dieFaceDescription"
- android:paddingBottom="20dp"
- android:paddingLeft="20dp"
- android:paddingRight="20dp"
- android:paddingTop="20dp"
+ android:paddingBottom="40dp"
+ android:paddingEnd="40dp"
+ android:paddingStart="40dp"
+ android:paddingTop="40dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
A app/src/main/res/raw/hamster.gif => app/src/main/res/raw/hamster.gif +0 -0
M app/src/main/res/values/colors.xml => app/src/main/res/values/colors.xml +3 -1
@@ 6,10 6,12 @@
<color name="primary_pink">#CA1943</color>
<color name="primary_orange">#FD8B49</color>
+ <color name="loading_background">#36465D</color>
+
<color name="die_pink">#DA0166</color>
<color name="die_green">#4C8600</color>
<color name="die_purple">#5C4F9F</color>
- <color name="die_yellow">#B08100</color>
+ <color name="die_yellow">#E8AC07</color>
<color name="die_blue">#2B97AE</color>
<color name="die_silver">#868C93</color>
</resources>=
\ No newline at end of file