Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,24 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nibble.musspeed">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.MuSSpeed">
<activity android:name=".MainActivity">
<activity android:name=".PathRunActivity" />
<activity android:name=".WorkoutSelectionActivity" />
<activity android:name=".PathSelectionActivity" />
<activity android:name=".MusicSelectionActivity"/>
<activity
android:name=".BodySelectionActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title"
android:theme="@style/Theme.MuSSpeed.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
22 changes: 22 additions & 0 deletions app/src/main/assets/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<title>API карт 2ГИС</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
<script type="text/javascript">
var map;

DG.then(function () {
map = DG.map('map', {
center: [54.98, 82.89],
zoom: 13
});

DG.marker([54.98, 82.89]).addTo(map).bindPopup('You have clicked on me!');
});
</script>
</head>
<body>
<div id="map" style="width:100%; height:500px"></div>
</body>
</html>
51 changes: 51 additions & 0 deletions app/src/main/java/com/nibble/musspeed/BodySelectionActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package com.nibble.musspeed

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.ImageButton

class BodySelectionActivity : AppCompatActivity() {
private lateinit var btnToRun : ImageButton
private lateinit var btnToMap : ImageButton
private lateinit var btnToBody : ImageButton
private lateinit var btnToMus : ImageButton
private lateinit var btnToWorkout : ImageButton

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_body_selection)
btnToRun = findViewById(R.id.to_path_run)
btnToRun.setOnClickListener { toRun() }
btnToMap = findViewById(R.id.to_path_selector)
btnToMap.setOnClickListener { toMap() }
btnToBody = findViewById(R.id.to_body_selector)
btnToBody.setOnClickListener { toBody() }
btnToMus = findViewById(R.id.to_music_selector)
btnToMus.setOnClickListener { toMus() }
btnToWorkout = findViewById(R.id.to_workout_selector)
btnToWorkout.setOnClickListener { toWorkout() }
}

private fun toRun(){
val intent = Intent(this, PathRunActivity::class.java)
startActivity(intent)
}
private fun toMap(){
val intent = Intent(this, PathSelectionActivity::class.java)
startActivity(intent)
}
private fun toBody(){
val intent = Intent(this, BodySelectionActivity::class.java)
startActivity(intent)
}
private fun toMus(){
val intent = Intent(this, MusicSelectionActivity::class.java)
startActivity(intent)
}
private fun toWorkout(){
val intent = Intent(this, WorkoutSelectionActivity::class.java)
startActivity(intent)
}
}
10 changes: 0 additions & 10 deletions app/src/main/java/com/nibble/musspeed/MainActivity.kt

This file was deleted.

50 changes: 50 additions & 0 deletions app/src/main/java/com/nibble/musspeed/MusicSelectionActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.nibble.musspeed

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageButton

class MusicSelectionActivity : AppCompatActivity() {
private lateinit var btnToRun : ImageButton
private lateinit var btnToMap : ImageButton
private lateinit var btnToBody : ImageButton
private lateinit var btnToMus : ImageButton
private lateinit var btnToWorkout : ImageButton

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_music_selection)
btnToRun = findViewById(R.id.to_path_run)
btnToRun.setOnClickListener { toRun() }
btnToMap = findViewById(R.id.to_path_selector)
btnToMap.setOnClickListener { toMap() }
btnToBody = findViewById(R.id.to_body_selector)
btnToBody.setOnClickListener { toBody() }
btnToMus = findViewById(R.id.to_music_selector)
btnToMus.setOnClickListener { toMus() }
btnToWorkout = findViewById(R.id.to_workout_selector)
btnToWorkout.setOnClickListener { toWorkout() }
}

private fun toRun(){
val intent = Intent(this, PathRunActivity::class.java)
startActivity(intent)
}
private fun toMap(){
val intent = Intent(this, PathSelectionActivity::class.java)
startActivity(intent)
}
private fun toBody(){
val intent = Intent(this, BodySelectionActivity::class.java)
startActivity(intent)
}
private fun toMus(){
val intent = Intent(this, MusicSelectionActivity::class.java)
startActivity(intent)
}
private fun toWorkout(){
val intent = Intent(this, WorkoutSelectionActivity::class.java)
startActivity(intent)
}
}
72 changes: 72 additions & 0 deletions app/src/main/java/com/nibble/musspeed/PathRunActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package com.nibble.musspeed

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebView
import android.widget.ImageButton
import android.widget.ProgressBar
import android.widget.TextView

class PathRunActivity : AppCompatActivity() {
private lateinit var btnToRun : ImageButton
private lateinit var btnToMap : ImageButton
private lateinit var btnToBody : ImageButton
private lateinit var btnToMus : ImageButton
private lateinit var btnToWorkout : ImageButton
private lateinit var webView : WebView;
private var progress : Int? = 0
private var progressBar: ProgressBar? = null
private var textViewProgressBar: TextView? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_path_run)
btnToRun = findViewById(R.id.to_path_run)
btnToRun.setOnClickListener { toRun() }
btnToMap = findViewById(R.id.to_path_selector)
btnToMap.setOnClickListener { toMap() }
btnToBody = findViewById(R.id.to_body_selector)
btnToBody.setOnClickListener { toBody() }
btnToMus = findViewById(R.id.to_music_selector)
btnToMus.setOnClickListener { toMus() }
btnToWorkout = findViewById(R.id.to_workout_selector)
btnToWorkout.setOnClickListener { toWorkout() }
webView = findViewById(R.id.webView)
webView.settings.javaScriptEnabled = true
webView.loadUrl("file:///android_asset/index.html")
progressBar = findViewById(R.id.path_progress_bar);
textViewProgressBar = findViewById(R.id.text_view_path_progress_bar);
}

private fun postProgress(progress: Int) {
val strProgress = "Вы прошли: $progress% пути"
progressBar?.progress = progress
if (progress == 0) {
progressBar?.secondaryProgress = 0
} else {
progressBar?.secondaryProgress = progress + 5
}
textViewProgressBar?.text = strProgress
}
private fun toRun(){
val intent = Intent(this, PathRunActivity::class.java)
startActivity(intent)
}
private fun toMap(){
val intent = Intent(this, PathSelectionActivity::class.java)
startActivity(intent)
}
private fun toBody(){
val intent = Intent(this, BodySelectionActivity::class.java)
startActivity(intent)
}
private fun toMus(){
val intent = Intent(this, MusicSelectionActivity::class.java)
startActivity(intent)
}
private fun toWorkout(){
val intent = Intent(this, WorkoutSelectionActivity::class.java)
startActivity(intent)
}
}
50 changes: 50 additions & 0 deletions app/src/main/java/com/nibble/musspeed/PathSelectionActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.nibble.musspeed

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageButton

class PathSelectionActivity : AppCompatActivity() {
private lateinit var btnToRun : ImageButton
private lateinit var btnToMap : ImageButton
private lateinit var btnToBody : ImageButton
private lateinit var btnToMus : ImageButton
private lateinit var btnToWorkout : ImageButton

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_path_selection)
btnToRun = findViewById(R.id.to_path_run)
btnToRun.setOnClickListener { toRun() }
btnToMap = findViewById(R.id.to_path_selector)
btnToMap.setOnClickListener { toMap() }
btnToBody = findViewById(R.id.to_body_selector)
btnToBody.setOnClickListener { toBody() }
btnToMus = findViewById(R.id.to_music_selector)
btnToMus.setOnClickListener { toMus() }
btnToWorkout = findViewById(R.id.to_workout_selector)
btnToWorkout.setOnClickListener { toWorkout() }
}

private fun toRun(){
val intent = Intent(this, PathRunActivity::class.java)
startActivity(intent)
}
private fun toMap(){
val intent = Intent(this, PathSelectionActivity::class.java)
startActivity(intent)
}
private fun toBody(){
val intent = Intent(this, BodySelectionActivity::class.java)
startActivity(intent)
}
private fun toMus(){
val intent = Intent(this, MusicSelectionActivity::class.java)
startActivity(intent)
}
private fun toWorkout(){
val intent = Intent(this, WorkoutSelectionActivity::class.java)
startActivity(intent)
}
}
50 changes: 50 additions & 0 deletions app/src/main/java/com/nibble/musspeed/WorkoutSelectionActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.nibble.musspeed

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageButton

class WorkoutSelectionActivity : AppCompatActivity() {
private lateinit var btnToRun : ImageButton
private lateinit var btnToMap : ImageButton
private lateinit var btnToBody : ImageButton
private lateinit var btnToMus : ImageButton
private lateinit var btnToWorkout : ImageButton

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_workout_selection)
btnToRun = findViewById(R.id.to_path_run)
btnToRun.setOnClickListener { toRun() }
btnToMap = findViewById(R.id.to_path_selector)
btnToMap.setOnClickListener { toMap() }
btnToBody = findViewById(R.id.to_body_selector)
btnToBody.setOnClickListener { toBody() }
btnToMus = findViewById(R.id.to_music_selector)
btnToMus.setOnClickListener { toMus() }
btnToWorkout = findViewById(R.id.to_workout_selector)
btnToWorkout.setOnClickListener { toWorkout() }
}

private fun toRun(){
val intent = Intent(this, PathRunActivity::class.java)
startActivity(intent)
}
private fun toMap(){
val intent = Intent(this, PathSelectionActivity::class.java)
startActivity(intent)
}
private fun toBody(){
val intent = Intent(this, BodySelectionActivity::class.java)
startActivity(intent)
}
private fun toMus(){
val intent = Intent(this, MusicSelectionActivity::class.java)
startActivity(intent)
}
private fun toWorkout(){
val intent = Intent(this, WorkoutSelectionActivity::class.java)
startActivity(intent)
}
}
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/btn_bg.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:color="#45A42A"
android:width="3dp">

</stroke>
</shape>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_baseline_pause_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="50dp" android:tint="#45A42A"
android:viewportHeight="24" android:viewportWidth="24"
android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M6,19h4L10,5L6,5v14zM14,5v14h4L18,5h-4z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_baseline_play_arrow_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="50dp" android:tint="#45A42A"
android:viewportHeight="24" android:viewportWidth="24"
android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M8,5v14l11,-7z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_baseline_skip_next_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="50dp" android:tint="#45A42A"
android:viewportHeight="24" android:viewportWidth="24"
android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M6,18l8.5,-6L6,6v12zM16,6v12h2V6h-2z"/>
</vector>
5 changes: 5 additions & 0 deletions app/src/main/res/drawable/ic_body.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<vector android:height="50dp" android:viewportHeight="900"
android:viewportWidth="900" android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000"
android:pathData="M415.2,1.5c-62.4,7.5 -112.1,36.1 -142.7,82 -22.5,33.7 -33.5,73.3 -33.5,120.5 0,27.4 2.8,50.1 9.1,75.5 15.5,61.7 45.1,113.2 87.3,152.4l5.8,5.4 -0.4,28.1c-0.4,31.7 -0.8,33.7 -8.8,44.8 -6.1,8.5 -11.9,11.8 -34,19.1 -41.7,13.9 -78.5,30.7 -115.4,52.9 -61.9,37.2 -106.4,81.9 -113.1,113.6 -2.2,10 -2.1,72.4 0,80.7 12.7,48.4 116.9,89.8 263,104.4 39.6,4 54.8,4.6 111,4.6 56,-0 69.1,-0.5 110,-4.6 141.9,-13.9 248.1,-55.1 262.5,-101.7 1.8,-5.9 2,-9.3 2,-42.6 0,-41 -0.2,-42.3 -7.5,-56.5 -14.2,-27.3 -48.3,-60.1 -93.3,-89.5 -37.9,-24.8 -81.1,-45.6 -126.7,-60.8 -11.5,-3.8 -22.4,-7.8 -24.1,-8.9 -5.4,-3.3 -13,-12.2 -16.3,-19.1 -4.2,-8.9 -4.9,-15.7 -4.6,-42.5l0.3,-22.2 12.5,-12.3c51,-50.5 83.5,-124.5 88.7,-202.3 3.6,-52.5 -7.9,-101 -32.8,-138.6 -17.6,-26.5 -41,-46.8 -70.7,-61.4 -20.6,-10.1 -40.4,-16.3 -64.5,-20 -14.5,-2.2 -49.2,-2.8 -63.8,-1z" android:strokeColor="#00000000"/>
</vector>
6 changes: 6 additions & 0 deletions app/src/main/res/drawable/ic_body_inactive.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<vector android:alpha="0.6" android:height="50dp"
android:viewportHeight="900" android:viewportWidth="900"
android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000"
android:pathData="M415.2,1.5c-62.4,7.5 -112.1,36.1 -142.7,82 -22.5,33.7 -33.5,73.3 -33.5,120.5 0,27.4 2.8,50.1 9.1,75.5 15.5,61.7 45.1,113.2 87.3,152.4l5.8,5.4 -0.4,28.1c-0.4,31.7 -0.8,33.7 -8.8,44.8 -6.1,8.5 -11.9,11.8 -34,19.1 -41.7,13.9 -78.5,30.7 -115.4,52.9 -61.9,37.2 -106.4,81.9 -113.1,113.6 -2.2,10 -2.1,72.4 0,80.7 12.7,48.4 116.9,89.8 263,104.4 39.6,4 54.8,4.6 111,4.6 56,-0 69.1,-0.5 110,-4.6 141.9,-13.9 248.1,-55.1 262.5,-101.7 1.8,-5.9 2,-9.3 2,-42.6 0,-41 -0.2,-42.3 -7.5,-56.5 -14.2,-27.3 -48.3,-60.1 -93.3,-89.5 -37.9,-24.8 -81.1,-45.6 -126.7,-60.8 -11.5,-3.8 -22.4,-7.8 -24.1,-8.9 -5.4,-3.3 -13,-12.2 -16.3,-19.1 -4.2,-8.9 -4.9,-15.7 -4.6,-42.5l0.3,-22.2 12.5,-12.3c51,-50.5 83.5,-124.5 88.7,-202.3 3.6,-52.5 -7.9,-101 -32.8,-138.6 -17.6,-26.5 -41,-46.8 -70.7,-61.4 -20.6,-10.1 -40.4,-16.3 -64.5,-20 -14.5,-2.2 -49.2,-2.8 -63.8,-1z" android:strokeColor="#00000000"/>
</vector>
7 changes: 7 additions & 0 deletions app/src/main/res/drawable/ic_map.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<vector android:height="50dp" android:viewportHeight="920"
android:viewportWidth="920" android:width="50dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000"
android:pathData="M735.5,86.6c-18.5,1.9 -38.4,7.6 -53.2,15.4 -15.2,7.9 -23.2,13.9 -35.9,26.5 -17.5,17.5 -28.2,34.5 -35.4,56.5 -5.5,16.8 -6.5,23.7 -6.5,45 0,21.4 1.1,28.8 6.6,45.5 2.6,7.8 31.2,65 83.9,168 14.2,27.8 34.5,67.6 44,86.3l8.3,16.3 2.7,-4.8c1.5,-2.6 18.8,-36.5 38.5,-75.3 19.6,-38.8 38.1,-75 41,-80.5 16.1,-30.6 50.7,-100 53,-106 5.4,-14.2 7.6,-26.7 8.2,-45 0.4,-14.6 0.2,-18.7 -1.6,-29 -5.2,-28.9 -17.6,-53.4 -37.5,-74.2 -21.5,-22.6 -46.9,-36.6 -76.9,-42.4 -9.8,-1.9 -30.9,-3.1 -39.2,-2.3zM765.9,146c18.7,3.8 37.9,16 49.8,31.5 21.8,28.4 23.7,68.4 4.6,98.3 -15.9,25.2 -43.2,40.2 -72.9,40.2 -39.3,-0 -73.5,-26.7 -83.5,-65.1 -3.1,-12.1 -3.1,-30.1 0.1,-41.9 7.2,-26.4 22.8,-45.3 46.7,-56.7 17,-8.1 36,-10.3 55.2,-6.3z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000"
android:pathData="M102.1,514.8c-38.7,77.4 -77.5,155 -86.2,172.5l-15.9,31.7 115,57.5 115,57.5 115,-57.5 115,-57.5 115,57.5 115,57.5 115,-57.5 115,-57.5 -48.3,-96.9c-26.5,-53.3 -48.4,-97 -48.7,-97 -0.3,-0 -7.7,14.2 -16.6,31.7l-16.1,31.7 26.3,52.3 26.3,52.3 -66.1,33c-36.3,18.2 -66.2,32.8 -66.4,32.6 -0.2,-0.2 -10.4,-50.2 -22.6,-111.1l-22.1,-110.8 4.1,-4.1 4.1,-4 -13.6,-27 -13.5,-26.9 -6.7,6.6c-3.6,3.6 -7.1,6.6 -7.6,6.6 -0.6,-0 -39.6,-25.7 -86.7,-57.2l-85.8,-57.1 -85.8,57.1c-47.1,31.5 -86.2,57.2 -86.7,57.2 -0.5,-0 -26.6,-25.6 -58,-57l-57,-57 -70.4,140.8zM431,566l0,103 -80,40c-44,22 -80,39.4 -80,38.8 0,-4.5 41.2,-206.4 42.2,-207 0.7,-0.4 27.2,-18 58.8,-39.2 31.6,-21.1 57.8,-38.5 58.3,-38.5 0.4,-0.1 0.7,46.2 0.7,102.9zM548.8,502.1c32.3,21.6 58.8,39.2 58.9,39.3 0.3,0.2 41.3,205.4 41.3,206.6 0,0.5 -36,-17 -80,-39l-80,-40 0,-103c0,-56.7 0.2,-103 0.5,-103 0.3,-0 26.9,17.6 59.3,39.1zM232.1,647.6c-12.2,61 -22.4,111 -22.5,111.2 -0.2,0.2 -30.1,-14.6 -66.4,-32.7l-66.1,-33.1 55.5,-111.2 55.5,-111.2 33.1,33.1 33.1,33.1 -22.2,110.8z" android:strokeColor="#00000000"/>
</vector>
Loading