diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..625b6ece22cf3ac8c4d35f74e2e65bfc2b460e12 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,44 @@ +image: openjdk:8-jdk + +variables: + ANDROID_COMPILE_SDK: "28" + ANDROID_BUILD_TOOLS: "28.0.2" + ANDROID_SDK_TOOLS: "4333796" + +before_script: + - apt-get --quiet update --yes + - apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1 + - wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS}.zip + - unzip -d android-sdk-linux android-sdk.zip + - echo y | android-sdk-linux/tools/bin/sdkmanager "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" >/dev/null + - echo y | android-sdk-linux/tools/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null + - export ANDROID_HOME=$PWD/android-sdk-linux + - export PATH=$PATH:$PWD/android-sdk-linux/platform-tools/ + - chmod +x ./gradlew + # temporarily disable checking for EPIPE error and use yes to accept all licenses + - set +o pipefail + - yes | android-sdk-linux/tools/bin/sdkmanager --licenses + - set -o pipefail + +stages: + - build + - test + +lintDebug: + stage: build + script: + - ./gradlew -Pci --console=plain :app:lintDebug -PbuildDir=lint + +assembleDebug: + stage: build + script: + - ./gradlew assembleDebug + artifacts: + paths: + - app/build/outputs/ + +debugTests: + stage: test + script: + - ./gradlew -Pci --console=plain :app:testDebug diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml new file mode 100644 index 0000000000000000000000000000000000000000..8ec256a5d290bffdb16a99dd3db0d613792739d5 --- /dev/null +++ b/.idea/render.experimental.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RenderSettings"> + <option name="showDecorations" value="true" /> + </component> +</project> \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index c3ef2951e8867b9d32b1a9a6df4d53f306c6ccbc..bb67304da4f3437ba5138b03f59b19fff288428b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -15,6 +15,11 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + android.applicationVariants.all { variant -> + variant.outputs.all { + outputFileName = "fast_track_taxi-release-${variant.versionName}.apk" + } + } } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5f01f7327f50567c9ed03039ab353a1d3036c29f..8126fdbd6fb2b4b50e7bbde669d05654536c0f2d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,21 +1,48 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" package="com.example.fasttracktaxi"> + <!--Declaring the required permissions--> + <uses-permission + android:name="android.permission.INTERNET" /> + <uses-permission + android:name="android.permission.ACCESS_FINE_LOCATION" /> + + <uses-permission + android:name="android.permission.READ_EXTERNAL_STORAGE" /> + <uses-permission + android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> + <uses-permission + android:name="android.permission.CAMERA" /> + <application android:allowBackup="true" - android:icon="@mipmap/ic_launcher" + android:icon="@drawable/fast_track_taxi_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/AppTheme"> - <activity android:name=".MainActivity"> + android:theme="@style/AppTheme" + tools:ignore="GoogleAppIndexingWarning"> + + <activity android:name=".SplashScreen" + android:label="@string/app_name" + android:screenOrientation="portrait" + android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + + <activity android:name=".MainActivity" + android:label="@string/app_name" + android:screenOrientation="portrait"> + <intent-filter> + <action android:name="android.intent.action.Main2Activity" /> + <category android:name="android.intent.category.DEFAULT" /> + </intent-filter></activity> </application> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/example/fasttracktaxi/MainActivity.java b/app/src/main/java/com/example/fasttracktaxi/MainActivity.java index 895760a867042c6ecf005f2e5ed0b4b053805cf0..edbd70bc450a42b398d1f8a574e55b5ba6bd1eea 100644 --- a/app/src/main/java/com/example/fasttracktaxi/MainActivity.java +++ b/app/src/main/java/com/example/fasttracktaxi/MainActivity.java @@ -3,12 +3,47 @@ package com.example.fasttracktaxi; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import android.widget.TextView; +import android.widget.Toast; public class MainActivity extends AppCompatActivity { + private TextView count; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); + setContentView(R.layout.main_activity); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { + case R.id.add: + count=(TextView)findViewById(R.id.textView); + count.setText("Add is clicked"); + return(true); + case R.id.reset: + count=(TextView)findViewById(R.id.textView); + count.setText("Nothing is selected"); + return(true); + case R.id.about: + Toast.makeText(this, R.string.about, Toast.LENGTH_LONG).show(); + return(true); + case R.id.exit: + finish(); + return(true); + + } + return(super.onOptionsItemSelected(item)); } } diff --git a/app/src/main/java/com/example/fasttracktaxi/Person.java b/app/src/main/java/com/example/fasttracktaxi/Person.java new file mode 100644 index 0000000000000000000000000000000000000000..090e7cc2ca1b00cd74fa97a031d8dea2b3f66ce8 --- /dev/null +++ b/app/src/main/java/com/example/fasttracktaxi/Person.java @@ -0,0 +1,5 @@ +package com.example.fasttracktaxi; + +public class Person { + +} diff --git a/app/src/main/java/com/example/fasttracktaxi/SecondActivity.java b/app/src/main/java/com/example/fasttracktaxi/SecondActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..31d05fedda0b24706364e446f6295a7b7b30f574 --- /dev/null +++ b/app/src/main/java/com/example/fasttracktaxi/SecondActivity.java @@ -0,0 +1,4 @@ +package com.example.fasttracktaxi; + +class SecondActivity { +} diff --git a/app/src/main/java/com/example/fasttracktaxi/SplashScreen.java b/app/src/main/java/com/example/fasttracktaxi/SplashScreen.java new file mode 100644 index 0000000000000000000000000000000000000000..5de1ebd644bbb65d50e5f19d05e94540f8bd9514 --- /dev/null +++ b/app/src/main/java/com/example/fasttracktaxi/SplashScreen.java @@ -0,0 +1,39 @@ +package com.example.fasttracktaxi; + +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.view.WindowManager; +import androidx.appcompat.app.AppCompatActivity; + +public class SplashScreen extends AppCompatActivity { + private static int SPLASH_SCREEN_TIME_OUT=2000; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + //This method is used so that your splash activity + //can cover the entire screen. + + setContentView(R.layout.splash_screen); + //this will bind your SplashScreen.class file with splash_screen. + + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + Intent i=new Intent(SplashScreen.this, + MainActivity.class); + //Intent is used to switch from one activity to another. + + startActivity(i); + //invoke the SecondActivity. + + finish(); + //the current activity will get finished. + } + }, SPLASH_SCREEN_TIME_OUT); + } +} diff --git a/app/src/main/res/drawable/fast_track_taxi_launcher.png b/app/src/main/res/drawable/fast_track_taxi_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c12ec5272cdbba16a99eb5fbb471d92a280fe069 Binary files /dev/null and b/app/src/main/res/drawable/fast_track_taxi_launcher.png differ diff --git a/app/src/main/res/drawable/fast_track_taxi_launcher_new.png b/app/src/main/res/drawable/fast_track_taxi_launcher_new.png new file mode 100644 index 0000000000000000000000000000000000000000..a6581faae9783ad5ac449f44967f33e3da9eac8a Binary files /dev/null and b/app/src/main/res/drawable/fast_track_taxi_launcher_new.png differ diff --git a/app/src/main/res/drawable/fast_track_taxi_logo.png b/app/src/main/res/drawable/fast_track_taxi_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36cf2039cfa49ada7a17986a4c7e0e1851a2ef9c Binary files /dev/null and b/app/src/main/res/drawable/fast_track_taxi_logo.png differ diff --git a/app/src/main/res/drawable/splash_screen.png b/app/src/main/res/drawable/splash_screen.png new file mode 100644 index 0000000000000000000000000000000000000000..17388d838827efbc8ff2615ea083f3df897e26e4 Binary files /dev/null and b/app/src/main/res/drawable/splash_screen.png differ diff --git a/app/src/main/res/drawable/splash_screen_new.png b/app/src/main/res/drawable/splash_screen_new.png new file mode 100644 index 0000000000000000000000000000000000000000..ea1be282473e2701a471b6f14b694b659f107718 Binary files /dev/null and b/app/src/main/res/drawable/splash_screen_new.png differ diff --git a/app/src/main/res/font/faster_one.xml b/app/src/main/res/font/faster_one.xml new file mode 100644 index 0000000000000000000000000000000000000000..a51d8f46f8d3f1089d72772a1d1db6bef319b00e --- /dev/null +++ b/app/src/main/res/font/faster_one.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<font-family xmlns:tools="http://schemas.android.com/tools" + xmlns:android="http://schemas.android.com/apk/res/android"> + + <font + android:fontStyle="normal" + android:fontWeight="400" + android:font="@font/faster_one" + tools:ignore="ResourceCycle" /> + +</font-family> \ No newline at end of file diff --git a/app/src/main/res/font/faster_one_regular.ttf b/app/src/main/res/font/faster_one_regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..59c2a974d3b72fe393f9a448a762aa0f868bebf4 Binary files /dev/null and b/app/src/main/res/font/faster_one_regular.ttf differ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/main_activity.xml similarity index 68% rename from app/src/main/res/layout/activity_main.xml rename to app/src/main/res/layout/main_activity.xml index 4fc244418b5fe524789352d1b1b52d1b22045f3a..4055b817b0463b6382b51e777f5d44191a55920c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -7,12 +7,12 @@ tools:context=".MainActivity"> <TextView - android:layout_width="wrap_content" + android:id="@+id/textView" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="Hello World!" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" + android:layout_marginTop="250dp" + android:text="@string/hello" + android:textAlignment="center" + android:textSize="20sp" app:layout_constraintTop_toTopOf="parent" /> - </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/splash_screen.xml b/app/src/main/res/layout/splash_screen.xml new file mode 100644 index 0000000000000000000000000000000000000000..19cec8c2cb33e7e2c57e014246370cd0fcb5dd28 --- /dev/null +++ b/app/src/main/res/layout/splash_screen.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.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" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".SplashScreen"> + + <ImageView + android:id="@+id/welcome_logo" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:src="@drawable/fast_track_taxi_logo" + android:gravity="center" + android:background="@color/colorPrimary" + tools:ignore="MissingConstraints" /> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000000000000000000000000000000000000..b485e1d8f0a286d3be02cfa6a95ed17eb62e7df7 --- /dev/null +++ b/app/src/main/res/menu/menu_main.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<menu 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" + tools:context=".MainActivity"> + + <item + android:id="@+id/add" + android:icon="@android:drawable/ic_menu_add" + app:showAsAction="always" + android:title="@string/add"/> + <item + android:id="@+id/reset" + android:icon="@android:drawable/ic_menu_revert" + app:showAsAction="always|withText" + android:title="@string/reset"/> + <item + android:id="@+id/about" + android:icon="@android:drawable/ic_dialog_info" + app:showAsAction="never" + android:title="@string/about"> + </item> + <item + android:id="@+id/exit" + app:showAsAction="never" + android:title="@string/exit"> + </item> +</menu> \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 69b22338c6510250df3b43672635120dbce2fa49..b415b748a76a425aea4c0e61e6f35b2221716e6c 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - <color name="colorPrimary">#008577</color> + <color name="colorPrimary">#26D3C1</color> <color name="colorPrimaryDark">#00574B</color> - <color name="colorAccent">#D81B60</color> + <color name="colorAccent">#142FDB</color> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ea4015c7a4c53e702339076cfd1639fabe22c8be..a57ad8ba675e614dfca5c6c16ef6b490ed1da3c0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,10 @@ <resources> <string name="app_name">Fast Track Taxi</string> + <string name="hello">Hello</string> + <string name="splash_screen">SPLASH SCREEN</string> + <string name="welcome_text">FAST \n\nTRACK \n\nTAXI</string> + <string name="exit">Exit</string> + <string name="add">Add</string> + <string name="reset">Reset</string> + <string name="about">About</string> </resources>