MatchActivity almost finished. Started VictoryActivity
This commit is contained in:
		| @ -18,6 +18,7 @@ | ||||
|                 android:windowSoftInputMode="adjustResize"> | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.MAIN"/> | ||||
|  | ||||
|                 <category android:name="android.intent.category.LAUNCHER"/> | ||||
|             </intent-filter> | ||||
|         </activity> | ||||
| @ -25,6 +26,8 @@ | ||||
|                 android:name=".MatchActivity" | ||||
|                 android:label="@string/title_activity_match"> | ||||
|         </activity> | ||||
|         <activity android:name=".VictoryActivity"> | ||||
|         </activity> | ||||
|     </application> | ||||
|  | ||||
| </manifest> | ||||
| @ -7,25 +7,37 @@ import android.view.View | ||||
| import android.arch.lifecycle.ViewModelProviders | ||||
| import android.speech.tts.TextToSpeech | ||||
| import android.support.design.widget.Snackbar | ||||
| import android.text.method.LinkMovementMethod | ||||
| import android.view.Menu | ||||
| import android.view.MenuItem | ||||
| import android.widget.* | ||||
|  | ||||
| const val REQ_CODE_SPEECH_INPUT = 1 | ||||
|  | ||||
|  | ||||
| class MatchActivity : AppCompatActivity() { | ||||
|  | ||||
|     var matchModel: MatchModel? = null | ||||
|     var textScore: android.widget.TextView? = null | ||||
|     var textService: android.widget.TextView? = null | ||||
|     var buttons: Array<Button> = emptyArray() | ||||
|     var imageViews: Array<ImageView?> = emptyArray() | ||||
|     var matchModel: MatchModel? = null | ||||
|     var tts: TextToSpeech? = null | ||||
|     var undo: MenuItem? = null | ||||
|     var redo: MenuItem? = null | ||||
|  | ||||
|     override fun onCreate(savedInstanceState: Bundle?) { | ||||
|         super.onCreate(savedInstanceState) | ||||
|         AppCompatDelegate.setCompatVectorFromResourcesEnabled(true) | ||||
|         setContentView(R.layout.activity_match) | ||||
|         setSupportActionBar(findViewById(R.id.toolbar)) | ||||
|  | ||||
|         // Set HTML text for icons credits | ||||
|         findViewById<TextView>(R.id.iconsCredit).run { | ||||
|             setText(fromHtml(getString(R.string.iconCredits))) | ||||
|             movementMethod = LinkMovementMethod.getInstance() | ||||
|         } | ||||
|  | ||||
|         // Find views | ||||
|         textScore = findViewById(R.id.textScore) | ||||
|         textService = findViewById(R.id.textService) | ||||
|         buttons = arrayOf( | ||||
| @ -36,75 +48,122 @@ class MatchActivity : AppCompatActivity() { | ||||
|             findViewById(R.id.imgService0), | ||||
|             findViewById(R.id.imgService1) | ||||
|         ) | ||||
|         val matchModel = ViewModelProviders.of(this).get(MatchModel::class.java) | ||||
|         if (!matchModel.matchStarted) { | ||||
|             matchModel.startMatch( | ||||
|                 intent.getStringExtra("player1Name"), | ||||
|                 intent.getStringExtra("player2Name"), | ||||
|                 intent.getIntExtra("starterId", 0), | ||||
|                 intent.getBooleanExtra("enableTTS", false), | ||||
|                 intent.getBooleanExtra("enableSTT", false) | ||||
|             ) | ||||
|             if (matchModel.ttsEnabled) { | ||||
|                 tts = TextToSpeech( | ||||
|                     this, | ||||
|                     TextToSpeech.OnInitListener { | ||||
|                         fun onInit(status: Int) {} | ||||
|                     } | ||||
|  | ||||
|         // Init or restore ViewModel | ||||
|         matchModel = ViewModelProviders.of(this).get(MatchModel::class.java) | ||||
|         matchModel?.let { | ||||
|             if (!it.matchStarted) { | ||||
|                 it.startMatch( | ||||
|                     intent.getStringExtra("player1Name"), | ||||
|                     intent.getStringExtra("player2Name"), | ||||
|                     intent.getIntExtra("starterId", 0), | ||||
|                     intent.getBooleanExtra("enableTTS", false), | ||||
|                     intent.getBooleanExtra("enableSTT", false) | ||||
|                 ) | ||||
|                 if (it.ttsEnabled) { | ||||
|                     tts = TextToSpeech( | ||||
|                         this, | ||||
|                         TextToSpeech.OnInitListener { | ||||
|                             fun onInit(status: Int) {} | ||||
|                         } | ||||
|                     ) | ||||
|                 } | ||||
|                 Snackbar.make( | ||||
|                     findViewById(R.id.coordinatorLayout), | ||||
|                     R.string.button_hint, | ||||
|                     Snackbar.LENGTH_SHORT | ||||
|                 ).show() | ||||
|             } | ||||
|             Snackbar.make( | ||||
|                 findViewById(R.id.coordinatorLayout), | ||||
|                 R.string.button_hint, | ||||
|                 Snackbar.LENGTH_SHORT | ||||
|             ).show() | ||||
|         } | ||||
|         updateUI() | ||||
|     } | ||||
|  | ||||
|     override fun onCreateOptionsMenu(menu: Menu): Boolean { | ||||
|         menuInflater.inflate(R.menu.match_menu, menu) | ||||
|         undo = menu.findItem(R.id.action_undo) | ||||
|         redo = menu.findItem(R.id.action_redo) | ||||
|         return super.onCreateOptionsMenu(menu) | ||||
|     } | ||||
|  | ||||
|     override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) { | ||||
|         R.id.action_undo -> { | ||||
|             matchModel?.undo() | ||||
|             updateUI() | ||||
|             true | ||||
|         } | ||||
|         R.id.action_redo -> { | ||||
|             matchModel?.redo() | ||||
|             updateUI() | ||||
|             true | ||||
|         } | ||||
|         else -> { | ||||
|             super.onOptionsItemSelected(item) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fun updateUI() { | ||||
|         matchModel?.apply { | ||||
|             textScore?.text = getString( | ||||
|                 R.string.score, | ||||
|                 players[serviceSide].score, | ||||
|                 players[relaunchSide].score | ||||
|             ) | ||||
|             textService?.text = getString(R.string.service, players[serviceSide].name) | ||||
|             if (matchFinished) { | ||||
|  | ||||
|             for ((button, player) in buttons.zip(players)) { | ||||
|                 button.text = fromHtml(getString(R.string.button_text, player.name, player.score)) | ||||
|             } | ||||
|  | ||||
|             when (serviceSide) { | ||||
|                 0 -> { | ||||
|                     imageViews[0]?.setImageResource(R.drawable.ic_service_0) | ||||
|                     imageViews[1]?.setImageResource(0) | ||||
|                 } | ||||
|                 else -> { | ||||
|                     imageViews[0]?.setImageResource(0) | ||||
|                     imageViews[1]?.setImageResource(R.drawable.ic_service_1) | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             if (ttsEnabled) { | ||||
|                 tts?.speak( | ||||
|                     getString( | ||||
|                         R.string.update_score_speech, | ||||
|                         players[serviceSide].score, | ||||
|                         players[relaunchSide].score, | ||||
|                         players[serviceSide].name | ||||
|                     ), | ||||
|                     TextToSpeech.QUEUE_FLUSH, | ||||
|                     hashMapOf(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID to "MessageId") | ||||
|             } else { | ||||
|                 textScore?.text = getString( | ||||
|                     R.string.score, | ||||
|                     players[serviceSide].score, | ||||
|                     players[relaunchSide].score | ||||
|                 ) | ||||
|                 textService?.text = getString(R.string.service, players[serviceSide].name) | ||||
|  | ||||
|                 for ((button, player) in buttons.zip(players)) { | ||||
|                     button.text = fromHtml(getString(R.string.button_text, player.name, player.score)) | ||||
|                 } | ||||
|  | ||||
|                 when (serviceSide) { | ||||
|                     0 -> { | ||||
|                         imageViews[0]?.setImageResource(R.drawable.ic_service_0) | ||||
|                         imageViews[1]?.setImageResource(0) | ||||
|                     } | ||||
|                     else -> { | ||||
|                         imageViews[0]?.setImageResource(0) | ||||
|                         imageViews[1]?.setImageResource(R.drawable.ic_service_1) | ||||
|                     } | ||||
|                 } | ||||
|  | ||||
|                 undo?.isVisible = when (playId) { | ||||
|                     0 -> false | ||||
|                     else -> true | ||||
|                 } | ||||
|                 redo?.isVisible = when (playId) { | ||||
|                     history.size - 1 -> false | ||||
|                     else -> true | ||||
|                 } | ||||
|  | ||||
|                 if (ttsEnabled) { | ||||
|                     tts?.speak( | ||||
|                         getString( | ||||
|                             R.string.update_score_speech, | ||||
|                             players[serviceSide].score, | ||||
|                             players[relaunchSide].score, | ||||
|                             players[serviceSide].name | ||||
|                         ), | ||||
|                         TextToSpeech.QUEUE_FLUSH, | ||||
|                         hashMapOf(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID to "MessageId") | ||||
|                     ) | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fun updateScore(view: View) { | ||||
|  | ||||
|         matchModel?.apply { | ||||
|             if (!matchFinished) { | ||||
|                 for (side in 0..1) { | ||||
|                     if (view == buttons[side]) { | ||||
|                         updateScore(side) | ||||
|                     } | ||||
|                 } | ||||
|                 updateUI() | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -7,21 +7,69 @@ import android.arch.lifecycle.ViewModel | ||||
|  | ||||
| class MatchModel : ViewModel() { | ||||
|     var matchStarted: Boolean = false | ||||
|     var matchFinished: Boolean = false | ||||
|     var players: List<Player> = emptyList() | ||||
|     var serviceSide: Int = 0 | ||||
|     var relaunchSide: Int = 1 | ||||
|     var ttsEnabled: Boolean = false | ||||
|     var sttEnabled: Boolean = false | ||||
|     var playId: Int = 0 | ||||
|     var history: MutableList<Play> = ArrayList() | ||||
|  | ||||
|     fun startMatch(player1Name: String, player2Name:String, starterId: Int, enableTTS: Boolean, enableSTT: Boolean) { | ||||
|         matchStarted = true | ||||
|         players = listOf(Player(player1Name), Player(player2Name)) | ||||
|         serviceSide = starterId | ||||
|         relaunchSide = when(starterId) { | ||||
|         relaunchSide = when(serviceSide) { | ||||
|             0 -> 1 | ||||
|             else -> 0 | ||||
|         } | ||||
|         ttsEnabled = enableTTS | ||||
|         sttEnabled = enableSTT | ||||
|         saveState() | ||||
|     } | ||||
|  | ||||
|     fun updateScore(scorerId: Int) { | ||||
|         playId++ | ||||
|         players[scorerId].score++ | ||||
|         if ((players.sumBy { it.score } % 2 == 0) or (players.all { it.score >= 10 })) { | ||||
|             serviceSide = relaunchSide.also { relaunchSide = serviceSide } | ||||
|         } | ||||
|         saveState() | ||||
|  | ||||
|         // Is match finished? | ||||
|         val (minScore, maxScore) = players.map { it.score }.sorted() | ||||
|         if ((maxScore >= 11) and (maxScore - minScore >= 2)) matchFinished = true | ||||
|     } | ||||
|  | ||||
|     fun saveState() { | ||||
|         val play = Play(players.map { it.score }, serviceSide) | ||||
|         if (playId == history.size) { | ||||
|             history.add(play) | ||||
|         } else { | ||||
|             history[playId] = play | ||||
|             history = history.subList(0, playId+1).toMutableList() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     fun undo() { | ||||
|         playId-- | ||||
|         reloadState() | ||||
|     } | ||||
|  | ||||
|     fun redo() { | ||||
|         playId++ | ||||
|         reloadState() | ||||
|     } | ||||
|  | ||||
|     fun reloadState() { | ||||
|         history[playId].let{ | ||||
|             players.zip(it.score).forEach{(player, score) -> player.score = score} | ||||
|             serviceSide = it.serviceSide | ||||
|             relaunchSide = when(serviceSide) { | ||||
|                 0 -> 1 | ||||
|                 else -> 0 | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -2,5 +2,5 @@ package adrienmalin.pingpoints | ||||
|  | ||||
| data class Play ( | ||||
|     val score: List<Int>, | ||||
|     val server: Int | ||||
|     val serviceSide: Int | ||||
| ) | ||||
| @ -1,6 +1,6 @@ | ||||
| package adrienmalin.pingpoints | ||||
|  | ||||
| data class Player ( | ||||
|     var name: String = "", | ||||
|     var name: String, | ||||
|     var score: Int = 0 | ||||
| ) | ||||
| @ -37,11 +37,7 @@ class StarterNameActivity : AppCompatActivity() { | ||||
|         super.onCreate(savedInstanceState) | ||||
|         setContentView(R.layout.activity_starter_name) | ||||
|         setSupportActionBar(findViewById(R.id.toolbar)) | ||||
|         // Set HTML text for icons credits | ||||
|         findViewById<TextView>(R.id.iconsCredit).run { | ||||
|             setText(fromHtml(getString(R.string.iconCredits))) | ||||
|             movementMethod = LinkMovementMethod.getInstance() | ||||
|         } | ||||
|  | ||||
|         // Find views | ||||
|         player1NameInput = findViewById(R.id.player1Name) | ||||
|         player2NameInput = findViewById(R.id.player2Name) | ||||
|  | ||||
							
								
								
									
										12
									
								
								app/src/main/java/adrienmalin/pingpoints/VictoryActivity.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app/src/main/java/adrienmalin/pingpoints/VictoryActivity.kt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | ||||
| package adrienmalin.pingpoints | ||||
|  | ||||
| import android.support.v7.app.AppCompatActivity | ||||
| import android.os.Bundle | ||||
|  | ||||
| class VictoryActivity : AppCompatActivity() { | ||||
|  | ||||
|     override fun onCreate(savedInstanceState: Bundle?) { | ||||
|         super.onCreate(savedInstanceState) | ||||
|         setContentView(R.layout.activity_victory) | ||||
|     } | ||||
| } | ||||
| @ -1,152 +1,165 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
|  | ||||
| <android.support.design.widget.CoordinatorLayout | ||||
|         android:id="@+id/coordinatorLayout" | ||||
|         xmlns:tools="http://schemas.android.com/tools" android:id="@+id/coordinatorLayout" | ||||
|         xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|         xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="match_parent"> | ||||
|  | ||||
|     <android.support.constraint.ConstraintLayout | ||||
|             xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|             xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|             xmlns:tools="http://schemas.android.com/tools" | ||||
|     <LinearLayout | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="match_parent" | ||||
|             tools:context=".MatchActivity" | ||||
|             tools:layout_editor_absoluteY="73dp"> | ||||
|             android:orientation="vertical"> | ||||
|  | ||||
|         <android.support.v7.widget.Toolbar | ||||
|                 android:id="@+id/toolbar" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="?attr/actionBarSize" | ||||
|                 android:layout_marginBottom="8dp" | ||||
|                 android:background="@color/colorPrimary" | ||||
|                 android:elevation="4dp" | ||||
|                 android:theme="@style/ThemeOverlay.AppCompat.ActionBar" | ||||
|                 app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:layout_weight="0"/> | ||||
|  | ||||
|         <LinearLayout | ||||
|                 android:id="@+id/linearLayoutText" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:layout_marginEnd="8dp" | ||||
|                 android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginRight="8dp" | ||||
|                 android:layout_marginStart="8dp" | ||||
|                 android:orientation="horizontal" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
|                 tools:layout_editor_absoluteY="8dp" android:layout_weight="0"> | ||||
|  | ||||
|             <TextView | ||||
|                     android:id="@+id/textScore" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_marginLeft="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:layout_weight="1" | ||||
|                     android:gravity="left" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     android:layout_marginRight="8dp" android:text="@string/score"/> | ||||
|             <TextView | ||||
|                     android:id="@+id/textService" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:layout_weight="1" | ||||
|                     android:gravity="right" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                     app:layout_constraintEnd_toEndOf="parent" | ||||
|                     app:layout_constraintHorizontal_bias="1.0" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/textScore" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     android:layout_marginRight="8dp" | ||||
|                     android:layout_marginLeft="8dp" android:text="@string/service"/> | ||||
|  | ||||
|         </LinearLayout> | ||||
|  | ||||
|         <LinearLayout | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="match_parent" | ||||
|                 android:orientation="vertical"> | ||||
|                 android:orientation="horizontal" android:layout_weight="1"> | ||||
|  | ||||
|             <android.support.v7.widget.Toolbar | ||||
|                     android:id="@+id/toolbar" | ||||
|             <ImageView | ||||
|                     android:id="@+id/imgService0" | ||||
|                     android:layout_width="48dp" | ||||
|                     android:layout_margin="8dp" | ||||
|                     android:layout_weight="0" | ||||
|                     android:contentDescription="@string/service_img_description" | ||||
|                     app:srcCompat="@drawable/ic_service_1" | ||||
|                     tools:layout_editor_absoluteY="120dp" android:layout_height="match_parent"/> | ||||
|  | ||||
|             <Button | ||||
|                     android:id="@+id/buttonPlayer0" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="?attr/actionBarSize" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:layout_marginBottom="8dp" | ||||
|                     android:background="@color/colorPrimary" | ||||
|                     android:elevation="4dp" | ||||
|                     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" | ||||
|                     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> | ||||
|                     android:layout_marginLeft="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:layout_marginTop="8dp" | ||||
|                     android:layout_weight="1" | ||||
|                     android:background="@color/colorAccent" | ||||
|                     android:bufferType="spannable" | ||||
|                     android:onClick="updateScore" | ||||
|                     android:textAllCaps="false" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                     android:textSize="24sp" | ||||
|                     android:textStyle="bold" | ||||
|                     app:layout_constraintBottom_toBottomOf="parent" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/imgService0" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     tools:text="@string/button_text" android:layout_marginRight="8dp"/> | ||||
|  | ||||
|             <LinearLayout | ||||
|                     android:id="@+id/linearLayoutText" | ||||
|             <Button | ||||
|                     android:id="@+id/buttonPlayer1" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:layout_marginBottom="8dp" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_marginLeft="8dp" | ||||
|                     android:layout_marginRight="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:orientation="horizontal" | ||||
|                     app:layout_constraintEnd_toEndOf="parent" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     tools:layout_editor_absoluteY="8dp"> | ||||
|                     android:layout_marginTop="8dp" | ||||
|                     android:layout_weight="1" | ||||
|                     android:background="@color/colorAccent" | ||||
|                     android:bufferType="spannable" | ||||
|                     android:onClick="updateScore" | ||||
|                     android:textAllCaps="false" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                     android:textSize="24sp" | ||||
|                     android:textStyle="bold" | ||||
|                     app:layout_constraintBottom_toBottomOf="parent" | ||||
|                     app:layout_constraintEnd_toStartOf="@+id/imgService1" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/buttonPlayer0" | ||||
|                     tools:text="@string/button_text"/> | ||||
|  | ||||
|                 <TextView | ||||
|                         android:id="@+id/textScore" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:layout_marginLeft="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:gravity="left" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                         app:layout_constraintStart_toStartOf="parent" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/score" android:layout_marginRight="8dp"/> | ||||
|                 <TextView | ||||
|                         android:id="@+id/textService" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:layout_marginEnd="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:gravity="right" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                         app:layout_constraintEnd_toEndOf="parent" | ||||
|                         app:layout_constraintHorizontal_bias="1.0" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/textScore" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/service" android:layout_marginRight="8dp" | ||||
|                         android:layout_marginLeft="8dp"/> | ||||
|  | ||||
|             </LinearLayout> | ||||
|  | ||||
|             <LinearLayout | ||||
|                     android:layout_width="match_parent" | ||||
|             <ImageView | ||||
|                     android:id="@+id/imgService1" | ||||
|                     android:layout_width="48dp" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:orientation="horizontal"> | ||||
|  | ||||
|                 <ImageView | ||||
|                         android:id="@+id/imgService0" | ||||
|                         android:layout_width="48dp" | ||||
|                         android:layout_margin="8dp" | ||||
|                         android:layout_weight="0" | ||||
|                         android:contentDescription="@string/service_img_description" | ||||
|                         app:srcCompat="@drawable/ic_service_1" | ||||
|                         tools:layout_editor_absoluteY="120dp" android:layout_height="match_parent"/> | ||||
|  | ||||
|                 <Button | ||||
|                         android:id="@+id/buttonPlayer0" | ||||
|                         style="@style/Widget.AppCompat.Button.Colored" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="match_parent" | ||||
|                         android:layout_marginBottom="8dp" | ||||
|                         android:layout_marginLeft="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_marginTop="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:background="@color/colorAccent" | ||||
|                         android:bufferType="spannable" | ||||
|                         android:onClick="updateScore" | ||||
|                         android:textAllCaps="false" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                         android:textSize="24sp" | ||||
|                         android:textStyle="bold" | ||||
|                         app:layout_constraintBottom_toBottomOf="parent" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/imgService0" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/button_text" android:layout_marginRight="8dp"/> | ||||
|  | ||||
|                 <Button | ||||
|                         android:id="@+id/buttonPlayer1" | ||||
|                         style="@style/Widget.AppCompat.Button.Colored" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="match_parent" | ||||
|                         android:layout_marginBottom="8dp" | ||||
|                         android:layout_marginEnd="8dp" | ||||
|                         android:layout_marginLeft="8dp" | ||||
|                         android:layout_marginRight="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_marginTop="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:background="@color/colorAccent" | ||||
|                         android:bufferType="spannable" | ||||
|                         android:onClick="updateScore" | ||||
|                         android:textAllCaps="false" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                         android:textSize="24sp" | ||||
|                         android:textStyle="bold" | ||||
|                         app:layout_constraintBottom_toBottomOf="parent" | ||||
|                         app:layout_constraintEnd_toStartOf="@+id/imgService1" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/buttonPlayer0" | ||||
|                         tools:text="@string/button_text"/> | ||||
|  | ||||
|                 <ImageView | ||||
|                         android:id="@+id/imgService1" | ||||
|                         android:layout_width="48dp" | ||||
|                         android:layout_height="match_parent" | ||||
|                         android:layout_margin="8dp" | ||||
|                         android:layout_weight="0" | ||||
|                         android:contentDescription="@string/service_img_description" | ||||
|                         tools:layout_editor_absoluteY="120dp"/> | ||||
|  | ||||
|             </LinearLayout> | ||||
|                     android:layout_margin="8dp" | ||||
|                     android:layout_weight="0" | ||||
|                     android:contentDescription="@string/service_img_description" | ||||
|                     tools:layout_editor_absoluteY="120dp"/> | ||||
|  | ||||
|         </LinearLayout> | ||||
|         <LinearLayout | ||||
|                 android:orientation="horizontal" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" android:layout_weight="0"> | ||||
|             <TextView | ||||
|                     android:id="@+id/pingPointsCredit" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:text="@string/PingPointsCredits" | ||||
|                     app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     app:layout_constraintEnd_toEndOf="parent" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_weight="1" android:layout_margin="8dp" android:gravity="left"/> | ||||
|             <TextView | ||||
|                     android:id="@+id/iconsCredit" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:text="@string/iconCredits" | ||||
|                     app:layout_constraintTop_toBottomOf="@+id/PingPointsCredit" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_weight="1" android:layout_margin="8dp" android:gravity="right"/> | ||||
|         </LinearLayout> | ||||
|  | ||||
|     </android.support.constraint.ConstraintLayout> | ||||
|     </LinearLayout> | ||||
|  | ||||
| </android.support.design.widget.CoordinatorLayout> | ||||
| @ -89,23 +89,6 @@ | ||||
|                 android:layout_marginEnd="8dp" android:layout_marginRight="8dp" | ||||
|                 app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginStart="8dp"/> | ||||
|         <TextView | ||||
|                 android:id="@+id/pingPointsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/PingPointsCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" app:layout_constraintStart_toStartOf="parent" | ||||
|                 android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" | ||||
|                 android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="24dp"/> | ||||
|         <TextView | ||||
|                 android:id="@+id/iconsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/iconCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/pingPointsCredit" | ||||
|                 app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" | ||||
|                 android:layout_marginRight="8dp"/> | ||||
|         <Button | ||||
|                 android:text="@string/start" | ||||
|                 android:layout_width="wrap_content" | ||||
|  | ||||
| @ -1,144 +1,148 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
|  | ||||
| <android.support.design.widget.CoordinatorLayout | ||||
|         android:id="@+id/coordinatorLayout" | ||||
|         xmlns:tools="http://schemas.android.com/tools" android:id="@+id/coordinatorLayout" | ||||
|         xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|         xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="match_parent"> | ||||
|  | ||||
|     <android.support.constraint.ConstraintLayout | ||||
|             xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|             xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|             xmlns:tools="http://schemas.android.com/tools" | ||||
|     <LinearLayout | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="match_parent" | ||||
|             tools:context=".MatchActivity" | ||||
|             tools:layout_editor_absoluteY="73dp"> | ||||
|             android:orientation="vertical"> | ||||
|  | ||||
|         <android.support.v7.widget.Toolbar | ||||
|                 android:id="@+id/toolbar" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="?attr/actionBarSize" | ||||
|                 android:layout_marginBottom="8dp" | ||||
|                 android:background="@color/colorPrimary" | ||||
|                 android:elevation="4dp" | ||||
|                 android:theme="@style/ThemeOverlay.AppCompat.ActionBar" | ||||
|                 app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:layout_weight="0"/> | ||||
|  | ||||
|         <LinearLayout | ||||
|                 android:id="@+id/linearLayoutText" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:layout_marginEnd="8dp" | ||||
|                 android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginRight="8dp" | ||||
|                 android:layout_marginStart="8dp" | ||||
|                 android:orientation="horizontal" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
|                 tools:layout_editor_absoluteY="8dp" android:layout_weight="0"> | ||||
|  | ||||
|             <TextView | ||||
|                     android:id="@+id/textScore" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_marginLeft="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:gravity="left" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     android:layout_marginRight="8dp" android:text="@string/score" | ||||
|                     android:layout_weight="1"/> | ||||
|             <TextView | ||||
|                     android:id="@+id/textService" | ||||
|                     android:layout_width="wrap_content" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                     app:layout_constraintEnd_toEndOf="parent" | ||||
|                     app:layout_constraintHorizontal_bias="1.0" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/textScore" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     android:gravity="right" android:text="@string/service" | ||||
|                     android:layout_weight="1"/> | ||||
|  | ||||
|         </LinearLayout> | ||||
|  | ||||
|         <LinearLayout | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="match_parent" | ||||
|                 android:orientation="vertical"> | ||||
|                 android:orientation="vertical" android:layout_weight="1"> | ||||
|  | ||||
|             <android.support.v7.widget.Toolbar | ||||
|                     android:id="@+id/toolbar" | ||||
|             <ImageView | ||||
|                     android:id="@+id/imgService0" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="?attr/actionBarSize" | ||||
|                     android:layout_marginBottom="8dp" | ||||
|                     android:background="@color/colorPrimary" | ||||
|                     android:elevation="4dp" | ||||
|                     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" | ||||
|                     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> | ||||
|                     android:layout_height="48dp" | ||||
|                     android:layout_margin="8dp" | ||||
|                     android:contentDescription="@string/service_img_description" | ||||
|                     app:srcCompat="@drawable/ic_service_1" | ||||
|                     tools:layout_editor_absoluteY="120dp"/> | ||||
|  | ||||
|             <LinearLayout | ||||
|                     android:id="@+id/linearLayoutText" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_marginLeft="8dp" | ||||
|                     android:layout_marginRight="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:orientation="horizontal" | ||||
|                     app:layout_constraintEnd_toEndOf="parent" | ||||
|                     app:layout_constraintStart_toStartOf="parent" | ||||
|                     tools:layout_editor_absoluteY="8dp"> | ||||
|  | ||||
|                 <TextView | ||||
|                         android:id="@+id/textScore" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:layout_marginLeft="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:gravity="left" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                         app:layout_constraintStart_toStartOf="parent" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/score" android:layout_marginRight="8dp"/> | ||||
|                 <TextView | ||||
|                         android:id="@+id/textService" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="wrap_content" | ||||
|                         android:layout_marginEnd="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Large" | ||||
|                         app:layout_constraintEnd_toEndOf="parent" | ||||
|                         app:layout_constraintHorizontal_bias="1.0" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/textScore" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/service" android:gravity="right"/> | ||||
|  | ||||
|             </LinearLayout> | ||||
|  | ||||
|             <LinearLayout | ||||
|             <Button | ||||
|                     android:id="@+id/buttonPlayer0" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:orientation="vertical"> | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:background="@color/colorAccent" | ||||
|                     android:bufferType="spannable" | ||||
|                     android:onClick="updateScore" | ||||
|                     android:textAllCaps="false" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                     android:textSize="24sp" | ||||
|                     android:textStyle="bold" | ||||
|                     app:layout_constraintBottom_toBottomOf="parent" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/imgService0" | ||||
|                     app:layout_constraintTop_toTopOf="parent" | ||||
|                     tools:text="@string/button_text" android:layout_margin="8dp" android:layout_weight="1"/> | ||||
|  | ||||
|                 <ImageView | ||||
|                         android:id="@+id/imgService0" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="48dp" | ||||
|                         android:layout_margin="8dp" | ||||
|                         android:layout_weight="0" | ||||
|                         android:contentDescription="@string/service_img_description" | ||||
|                         app:srcCompat="@drawable/ic_service_1" | ||||
|                         tools:layout_editor_absoluteY="120dp"/> | ||||
|             <Button | ||||
|                     android:id="@+id/buttonPlayer1" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="match_parent" | ||||
|                     android:layout_marginEnd="8dp" | ||||
|                     android:layout_marginStart="8dp" | ||||
|                     android:background="@color/colorAccent" | ||||
|                     android:bufferType="spannable" | ||||
|                     android:onClick="updateScore" | ||||
|                     android:textAllCaps="false" | ||||
|                     android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                     android:textSize="24sp" | ||||
|                     android:textStyle="bold" | ||||
|                     app:layout_constraintBottom_toBottomOf="parent" | ||||
|                     app:layout_constraintEnd_toStartOf="@+id/imgService1" | ||||
|                     app:layout_constraintStart_toEndOf="@+id/buttonPlayer0" | ||||
|                     tools:text="@string/button_text" android:layout_margin="8dp" android:layout_weight="1"/> | ||||
|  | ||||
|                 <Button | ||||
|                         android:id="@+id/buttonPlayer0" | ||||
|                         style="@style/Widget.AppCompat.Button.Colored" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="match_parent" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:background="@color/colorAccent" | ||||
|                         android:bufferType="spannable" | ||||
|                         android:onClick="updateScore" | ||||
|                         android:textAllCaps="false" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                         android:textSize="24sp" | ||||
|                         android:textStyle="bold" | ||||
|                         app:layout_constraintBottom_toBottomOf="parent" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/imgService0" | ||||
|                         app:layout_constraintTop_toTopOf="parent" | ||||
|                         tools:text="@string/button_text" android:layout_margin="8dp"/> | ||||
|  | ||||
|                 <Button | ||||
|                         android:id="@+id/buttonPlayer1" | ||||
|                         style="@style/Widget.AppCompat.Button.Colored" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="match_parent" | ||||
|                         android:layout_marginEnd="8dp" | ||||
|                         android:layout_marginStart="8dp" | ||||
|                         android:layout_weight="1" | ||||
|                         android:background="@color/colorAccent" | ||||
|                         android:bufferType="spannable" | ||||
|                         android:onClick="updateScore" | ||||
|                         android:textAllCaps="false" | ||||
|                         android:textAppearance="@style/TextAppearance.AppCompat.Button" | ||||
|                         android:textSize="24sp" | ||||
|                         android:textStyle="bold" | ||||
|                         app:layout_constraintBottom_toBottomOf="parent" | ||||
|                         app:layout_constraintEnd_toStartOf="@+id/imgService1" | ||||
|                         app:layout_constraintStart_toEndOf="@+id/buttonPlayer0" | ||||
|                         tools:text="@string/button_text" android:layout_margin="8dp"/> | ||||
|  | ||||
|                 <ImageView | ||||
|                         android:id="@+id/imgService1" | ||||
|                         android:layout_width="match_parent" | ||||
|                         android:layout_height="48dp" | ||||
|                         android:layout_margin="8dp" | ||||
|                         android:layout_weight="0" | ||||
|                         android:contentDescription="@string/service_img_description" | ||||
|                         tools:layout_editor_absoluteY="120dp"/> | ||||
|  | ||||
|             </LinearLayout> | ||||
|             <ImageView | ||||
|                     android:id="@+id/imgService1" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="48dp" | ||||
|                     android:layout_margin="8dp" | ||||
|                     android:contentDescription="@string/service_img_description" | ||||
|                     tools:layout_editor_absoluteY="120dp"/> | ||||
|  | ||||
|         </LinearLayout> | ||||
|         <TextView | ||||
|                 android:id="@+id/pingPointsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/PingPointsCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" | ||||
|                 app:layout_constraintStart_toStartOf="parent" | ||||
|                 android:layout_marginLeft="8dp" android:layout_marginStart="8dp" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" | ||||
|                 android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="24dp" | ||||
|                 android:layout_weight="0"/> | ||||
|         <TextView | ||||
|                 android:id="@+id/iconsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/iconCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/PingPointsCredit" | ||||
|                 app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" | ||||
|                 android:layout_marginEnd="8dp" | ||||
|                 android:layout_marginRight="8dp" android:layout_weight="0"/> | ||||
|  | ||||
|     </android.support.constraint.ConstraintLayout> | ||||
|     </LinearLayout> | ||||
|  | ||||
| </android.support.design.widget.CoordinatorLayout> | ||||
| @ -106,23 +106,6 @@ | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/enableTtsSwitch" android:layout_marginStart="8dp" | ||||
|                 app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" android:layout_marginEnd="8dp" | ||||
|                 app:layout_constraintEnd_toEndOf="parent" android:layout_marginRight="8dp"/> | ||||
|         <TextView | ||||
|                 android:id="@+id/PingPointsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/PingPointsCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/enableSttSwitch" app:layout_constraintStart_toStartOf="parent" | ||||
|                 android:layout_marginLeft="8dp" android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" | ||||
|                 android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:layout_marginTop="24dp"/> | ||||
|         <TextView | ||||
|                 android:id="@+id/iconsCredit" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content" | ||||
|                 android:text="@string/iconCredits" | ||||
|                 app:layout_constraintTop_toBottomOf="@+id/PingPointsCredit" | ||||
|                 app:layout_constraintStart_toStartOf="parent" android:layout_marginLeft="8dp" | ||||
|                 android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" | ||||
|                 android:layout_marginRight="8dp"/> | ||||
|         <Button | ||||
|                 android:text="@string/start" | ||||
|                 android:layout_width="wrap_content" | ||||
|  | ||||
							
								
								
									
										35
									
								
								app/src/main/res/layout/activity_victory.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								app/src/main/res/layout/activity_victory.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
|  | ||||
| <android.support.design.widget.CoordinatorLayout | ||||
|         xmlns:tools="http://schemas.android.com/tools" android:id="@+id/coordinatorLayout" | ||||
|         xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|         xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="match_parent"> | ||||
|  | ||||
|     <android.support.constraint.ConstraintLayout | ||||
|             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:layout_width="match_parent" | ||||
|             android:layout_height="match_parent" | ||||
|             tools:context=".VictoryActivity"> | ||||
|  | ||||
|         <android.support.v7.widget.Toolbar | ||||
|                 android:id="@+id/toolbar" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="?attr/actionBarSize" | ||||
|                 android:layout_marginBottom="8dp" | ||||
|                 android:background="@color/colorPrimary" | ||||
|                 android:elevation="4dp" | ||||
|                 android:theme="@style/ThemeOverlay.AppCompat.ActionBar" | ||||
|                 app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:layout_weight="0"/> | ||||
|         <TextView | ||||
|                 android:text="TextView" | ||||
|                 android:layout_width="wrap_content" | ||||
|                 android:layout_height="wrap_content" tools:layout_editor_absoluteY="106dp" | ||||
|                 tools:layout_editor_absoluteX="57dp" android:id="@+id/textView"/> | ||||
|  | ||||
|     </android.support.constraint.ConstraintLayout> | ||||
|  | ||||
| </android.support.design.widget.CoordinatorLayout> | ||||
							
								
								
									
										20
									
								
								app/src/main/res/menu/match_menu.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								app/src/main/res/menu/match_menu.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
|  | ||||
| <menu xmlns:app="http://schemas.android.com/apk/res-auto" | ||||
|       xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|  | ||||
|     <item | ||||
|             android:id="@+id/action_undo" | ||||
|             android:icon="@drawable/ic_undo" | ||||
|             android:title="@string/undo" | ||||
|             app:showAsAction="ifRoom" | ||||
|             android:visible="false" /> | ||||
|  | ||||
|     <item | ||||
|             android:id="@+id/action_redo" | ||||
|             android:icon="@drawable/ic_redo" | ||||
|             android:title="@string/redo" | ||||
|             app:showAsAction="ifRoom" | ||||
|             android:visible="false" /> | ||||
|  | ||||
| </menu> | ||||
| @ -9,7 +9,7 @@ | ||||
|     <string name="start">Allons-y !</string> | ||||
|     <string name="swap_names">Échanger les noms</string> | ||||
|     <string name="PingPointsCredits">Ping Points par Adrien Malin</string> | ||||
|     <string name="iconCredits"><html>Icônes par <a href="http://www.freepik.com" title="Freepik">Freepik</a> chez <a href="https://www.flaticon.com/" title="Flaticon">flaticon.com</a> Licence <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></html></string> | ||||
|     <string name="iconCredits">Icônes par <a href="http://www.freepik.com" title="Freepik">Freepik</a> chez <a href="https://www.flaticon.com/" title="Flaticon">flaticon.com</a> Licence <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></string> | ||||
|     <string name="TTS_unavailable">Désolé, votre appareil ne permet pas la synthèse vocale.</string> | ||||
|     <string name="STT_unavailable">Désolé, votre appareil ne permet pas la reconnaissance vocale.</string> | ||||
|     <string name="explain_record_audio_request">"Cette appli utilise l'API de Google pour la reconnaissance vocale : votre voix sera enregistrée et envoyée aux serveurs de Google pour analyse. | ||||
| @ -27,4 +27,6 @@ Vous pouvez à tout moment changer la permission dans les paramètres Android." | ||||
|     <string name="title_activity_match">Ping Points</string> | ||||
|     <string name="update_score_speech">%d - %d. Service : %s</string> | ||||
|     <string name="button_hint">Cliquez sur le joueur qui a marqué</string> | ||||
|     <string name="redo">Rétablir</string> | ||||
|     <string name="undo">Annuler</string> | ||||
| </resources> | ||||
| @ -8,10 +8,10 @@ | ||||
|     <string name="start">Let\'s go!</string> | ||||
|     <string name="swap_names">Swap names</string> | ||||
|     <string name="PingPointsCredits">Ping Points by Adrien Malin</string> | ||||
|     <string name="iconCredits">"<html>Icons made by <a href="http://www.freepik.com" title="Freepik">Freepik</a> | ||||
|     <string name="iconCredits">Icons made by <a href="http://www.freepik.com" title="Freepik">Freepik</a> | ||||
|         from <a href="https://www.flaticon.com/" title="Flaticon">flaticon.com</a> is | ||||
|         licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY | ||||
|         3.0" target="_blank">CC 3.0 BY</a></html>" | ||||
|         3.0" target="_blank">CC 3.0 BY</a> | ||||
|     </string> | ||||
|     <string name="TTS_unavailable">Sorry, your device doesn\'t support text to speech.</string> | ||||
|     <string name="STT_unavailable">Sorry, your device doesn\'t support voice recognition.</string> | ||||
| @ -27,8 +27,11 @@ | ||||
|     <string name="service">Service: %s</string> | ||||
|     <string name="score">Score: %d - %d</string> | ||||
|     <string name="service_img_description">Service</string> | ||||
|     <string name="button_text" translatable="false">%s <br /> <br /> <big> <big> %d </big> </big> | ||||
|     <string name="button_text" translatable="false">%s <br /> <br /> <big> <big> %d </big> | ||||
|         </big> | ||||
|     </string> | ||||
|     <string name="update_score_speech">%d - %d. Service: %s</string> | ||||
|     <string name="button_hint">Click on the scoring player</string> | ||||
|     <string name="undo">Undo</string> | ||||
|     <string name="redo">Redo</string> | ||||
| </resources> | ||||
|  | ||||
		Reference in New Issue
	
	Block a user