From c7e46108de55f1797e96d33cf0b805c380051d13 Mon Sep 17 00:00:00 2001 From: Maksymilian Jopek Date: Wed, 28 Sep 2022 20:04:04 +0200 Subject: Initial commit, screen 1 --- .../jopek/kanakaeiwa/ExampleInstrumentedTest.java | 26 ++++ app/src/main/AndroidManifest.xml | 36 +++++ .../java/com/jopek/kanakaeiwa/FirstFragment.java | 143 +++++++++++++++++ .../java/com/jopek/kanakaeiwa/MainActivity.java | 65 ++++++++ .../main/java/com/jopek/kanakaeiwa/Requests.java | 81 ++++++++++ .../java/com/jopek/kanakaeiwa/SecondFragment.java | 39 +++++ .../res/drawable-v24/ic_launcher_foreground.xml | 30 ++++ .../res/drawable/ic_baseline_arrow_forward_24.xml | 5 + .../main/res/drawable/ic_baseline_wb_sunny_24.xml | 5 + .../main/res/drawable/ic_launcher_background.xml | 170 +++++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 25 +++ app/src/main/res/layout/content_main.xml | 19 +++ app/src/main/res/layout/fragment_first.xml | 139 +++++++++++++++++ app/src/main/res/layout/fragment_second.xml | 155 +++++++++++++++++++ app/src/main/res/menu/menu_main.xml | 10 ++ app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../res/mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 1404 bytes .../main/res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 2898 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 982 bytes .../main/res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 1772 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 1900 bytes .../main/res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 3918 bytes app/src/main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 2884 bytes .../main/res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 5914 bytes app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 3844 bytes .../main/res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 7778 bytes app/src/main/res/navigation/nav_graph.xml | 28 ++++ app/src/main/res/values-land/dimens.xml | 3 + app/src/main/res/values-night/themes.xml | 16 ++ app/src/main/res/values-w1240dp/dimens.xml | 3 + app/src/main/res/values-w600dp/dimens.xml | 3 + app/src/main/res/values/colors.xml | 10 ++ app/src/main/res/values/dimens.xml | 3 + app/src/main/res/values/strings.xml | 12 ++ app/src/main/res/values/themes.xml | 25 +++ app/src/main/res/xml/backup_rules.xml | 13 ++ app/src/main/res/xml/data_extraction_rules.xml | 19 +++ .../java/com/jopek/kanakaeiwa/ExampleUnitTest.java | 17 +++ 39 files changed, 1110 insertions(+) create mode 100644 app/src/androidTest/java/com/jopek/kanakaeiwa/ExampleInstrumentedTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/jopek/kanakaeiwa/FirstFragment.java create mode 100644 app/src/main/java/com/jopek/kanakaeiwa/MainActivity.java create mode 100644 app/src/main/java/com/jopek/kanakaeiwa/Requests.java create mode 100644 app/src/main/java/com/jopek/kanakaeiwa/SecondFragment.java create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_baseline_arrow_forward_24.xml create mode 100644 app/src/main/res/drawable/ic_baseline_wb_sunny_24.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/content_main.xml create mode 100644 app/src/main/res/layout/fragment_first.xml create mode 100644 app/src/main/res/layout/fragment_second.xml create mode 100644 app/src/main/res/menu/menu_main.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 app/src/main/res/navigation/nav_graph.xml create mode 100644 app/src/main/res/values-land/dimens.xml create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values-w1240dp/dimens.xml create mode 100644 app/src/main/res/values-w600dp/dimens.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/backup_rules.xml create mode 100644 app/src/main/res/xml/data_extraction_rules.xml create mode 100644 app/src/test/java/com/jopek/kanakaeiwa/ExampleUnitTest.java (limited to 'app/src') diff --git a/app/src/androidTest/java/com/jopek/kanakaeiwa/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/jopek/kanakaeiwa/ExampleInstrumentedTest.java new file mode 100644 index 0000000..479f97c --- /dev/null +++ b/app/src/androidTest/java/com/jopek/kanakaeiwa/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.jopek.kanakaeiwa; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.jopek.kanakaeiwa", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b7d6dee --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/jopek/kanakaeiwa/FirstFragment.java b/app/src/main/java/com/jopek/kanakaeiwa/FirstFragment.java new file mode 100644 index 0000000..bef3a9a --- /dev/null +++ b/app/src/main/java/com/jopek/kanakaeiwa/FirstFragment.java @@ -0,0 +1,143 @@ +package com.jopek.kanakaeiwa; + +import android.Manifest; +import android.annotation.SuppressLint; +import android.content.Context; +import android.content.pm.PackageManager; +import android.location.Location; +import android.location.LocationListener; +import android.location.LocationManager; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +import com.jopek.kanakaeiwa.databinding.FragmentFirstBinding; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +public class FirstFragment extends Fragment { + + private FragmentFirstBinding binding; + private boolean locationSet = false; + private double lon; + private double lat; + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + + binding = FragmentFirstBinding.inflate(inflater, container, false); + return binding.getRoot(); + + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + if (requireActivity().checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { + getLocation(); + } else { + ActivityCompat.requestPermissions(requireActivity(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); + } + + + binding.buttonFirst.setOnClickListener(view1 -> { + NavHostFragment.findNavController(FirstFragment.this) + .navigate(R.id.action_FirstFragment_to_SecondFragment); + getLocation(); + }); + } + + public void getWeather() { + Requests requests = new Requests(); + String url = "https://api.openweathermap.org/data/2.5/weather?appid=d7eea7960e9b5024b8441fb6f9344ce4&units=metric&lat=" + lat + "&lon=" + lon; + Log.d(MainActivity.TAG, "getWeather: " + url); + requests.get(url, res -> { + Log.d(MainActivity.TAG, "getWeather: " + res); + try { + JSONObject data = new JSONObject(res); + JSONObject weather = data.getJSONArray("weather").getJSONObject(0); + JSONObject main = data.getJSONObject("main"); + JSONObject wind = data.getJSONObject("wind"); + JSONObject sys = data.getJSONObject("sys"); + requests.setRemoteSrc(binding.weatherImg, "https://openweathermap.org/img/w/" + weather.getString("icon") + ".png"); + binding.cityName.setText(data.getString("name") + ", " + sys.getString("country")); + binding.temp.setText(main.getString("temp")); + binding.weatherText.setText(weather.getString("description")); + binding.humidity.setText(main.getString("humidity") + " %"); + binding.maxTemp.setText(main.getString("temp_max") + " °C"); + binding.minTemp.setText(main.getString("temp_min") + " °C"); + binding.pressure.setText(main.getString("pressure") + " hPa"); + binding.windSpeed.setText(wind.getString("speed") + " m/s"); + } catch (Exception e) { + e.printStackTrace(); + } + }); + } + + @SuppressLint("MissingPermission") + public void getLocation() { + LocationManager locationManager = (LocationManager) requireActivity().getSystemService(Context.LOCATION_SERVICE); + LocationListener locationListener = new LocationListener() { + @Override + public void onLocationChanged(@NonNull Location location) { + System.out.println("DEBUG 1"); + lon = location.getLongitude(); + lat = location.getLatitude(); + locationSet = true; + getWeather(); + } + + @Override + public void onProviderEnabled(@NonNull String provider) { + System.out.println("DEBUG 2"); + } + + @Override + public void onProviderDisabled(@NonNull String provider) { + System.out.println("DEBUG 3"); + } + + @Override + public void onStatusChanged(String provider, int status, Bundle extras) { + System.out.println("DEBUG 4"); + } + }; + locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500, 50, locationListener); + } + + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, + int[] grantResults) { + switch (requestCode) { + case 1: + if (grantResults.length > 0 && + grantResults[0] == PackageManager.PERMISSION_GRANTED) { + Log.d(MainActivity.TAG, "onRequestPermissionsResult: success"); + getLocation(); + } + Log.d(MainActivity.TAG, "onRequestPermissionsResult: fail"); + return; + } + // Other 'case' lines to check for other + // permissions this app might request. + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/jopek/kanakaeiwa/MainActivity.java b/app/src/main/java/com/jopek/kanakaeiwa/MainActivity.java new file mode 100644 index 0000000..4b0193b --- /dev/null +++ b/app/src/main/java/com/jopek/kanakaeiwa/MainActivity.java @@ -0,0 +1,65 @@ +package com.jopek.kanakaeiwa; + +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.navigation.NavController; +import androidx.navigation.Navigation; +import androidx.navigation.ui.AppBarConfiguration; +import androidx.navigation.ui.NavigationUI; + +import com.google.android.material.snackbar.Snackbar; +import com.jopek.kanakaeiwa.databinding.ActivityMainBinding; + +public class MainActivity extends AppCompatActivity { + + public static final String TAG = "maks"; + + private AppBarConfiguration appBarConfiguration; + private ActivityMainBinding binding; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + binding = ActivityMainBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + setSupportActionBar(binding.toolbar); + + NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); + appBarConfiguration = new AppBarConfiguration.Builder(navController.getGraph()).build(); + NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); + } + + @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) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.action_settings) { + return true; + } + + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onSupportNavigateUp() { + NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); + return NavigationUI.navigateUp(navController, appBarConfiguration) + || super.onSupportNavigateUp(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/jopek/kanakaeiwa/Requests.java b/app/src/main/java/com/jopek/kanakaeiwa/Requests.java new file mode 100644 index 0000000..506182b --- /dev/null +++ b/app/src/main/java/com/jopek/kanakaeiwa/Requests.java @@ -0,0 +1,81 @@ +package com.jopek.kanakaeiwa; + + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.os.AsyncTask; +import android.util.Log; +import android.widget.ImageView; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.function.Consumer; + +class RequestImage extends AsyncTask { + ImageView bmImage; + public void setRemoteSrc(ImageView bmImage, String url) { + this.bmImage = bmImage; + this.execute(url); + } + + protected Bitmap doInBackground(String... urls) { + String urldisplay = urls[0]; + Bitmap bmp = null; + try { + InputStream in = new java.net.URL(urldisplay).openStream(); + bmp = BitmapFactory.decodeStream(in); + } catch (Exception e) { + Log.e("Error", e.getMessage()); + e.printStackTrace(); + } + return bmp; + } + protected void onPostExecute(Bitmap result) { + bmImage.setImageBitmap(result); + } +} +public class Requests extends AsyncTask { + Consumer cb; + + RequestImage requestImage = new RequestImage(); + + public void get(String url, Consumer cb) { + this.cb = cb; + this.execute(url); + } + public void setRemoteSrc(ImageView bmImage, String url) { + requestImage.setRemoteSrc(bmImage, url); + } + protected String doInBackground(String... urls) { + try { + URL url = new URL(urls[0]); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + connection.setDoOutput(true); + connection.setConnectTimeout(5000); + connection.setReadTimeout(5000); + connection.connect(); + BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String content = "", line; + while ((line = rd.readLine()) != null) { + content += line + "\n"; + } + return content; + } catch (IOException exception) { + return "ERROR"; + } + } + + protected void onProgressUpdate(Integer... progress) { + } + + protected void onPostExecute(String result) { + // this is executed on the main thread after the process is over + // update your UI here + cb.accept(result); + } +} diff --git a/app/src/main/java/com/jopek/kanakaeiwa/SecondFragment.java b/app/src/main/java/com/jopek/kanakaeiwa/SecondFragment.java new file mode 100644 index 0000000..7164eec --- /dev/null +++ b/app/src/main/java/com/jopek/kanakaeiwa/SecondFragment.java @@ -0,0 +1,39 @@ +package com.jopek.kanakaeiwa; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.fragment.app.Fragment; +import androidx.navigation.fragment.NavHostFragment; + +import com.jopek.kanakaeiwa.databinding.FragmentSecondBinding; + +public class SecondFragment extends Fragment { + + private FragmentSecondBinding binding; + + @Override + public View onCreateView( + LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState + ) { + + binding = FragmentSecondBinding.inflate(inflater, container, false); + return binding.getRoot(); + + } + + public void onViewCreated(@NonNull View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_baseline_arrow_forward_24.xml b/app/src/main/res/drawable/ic_baseline_arrow_forward_24.xml new file mode 100644 index 0000000..8d3848e --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_arrow_forward_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_baseline_wb_sunny_24.xml b/app/src/main/res/drawable/ic_baseline_wb_sunny_24.xml new file mode 100644 index 0000000..a63c640 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_wb_sunny_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..507729b --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..e416e1c --- /dev/null +++ b/app/src/main/res/layout/content_main.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_first.xml b/app/src/main/res/layout/fragment_first.xml new file mode 100644 index 0000000..d876bf5 --- /dev/null +++ b/app/src/main/res/layout/fragment_first.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_second.xml b/app/src/main/res/layout/fragment_second.xml new file mode 100644 index 0000000..0acfa7f --- /dev/null +++ b/app/src/main/res/layout/fragment_second.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 0000000..4cb5ffb --- /dev/null +++ b/app/src/main/res/menu/menu_main.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000..c209e78 Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp new file mode 100644 index 0000000..b2dfe3d Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000..4f0f1d6 Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000..62b611d Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000..948a307 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..1b9a695 Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp new file mode 100644 index 0000000..28d4b77 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9287f50 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000..aa7d642 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp new file mode 100644 index 0000000..9126ae3 Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml new file mode 100644 index 0000000..2e1825a --- /dev/null +++ b/app/src/main/res/navigation/nav_graph.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml new file mode 100644 index 0000000..22d7f00 --- /dev/null +++ b/app/src/main/res/values-land/dimens.xml @@ -0,0 +1,3 @@ + + 48dp + \ No newline at end of file diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..22186ae --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values-w1240dp/dimens.xml b/app/src/main/res/values-w1240dp/dimens.xml new file mode 100644 index 0000000..d73f4a3 --- /dev/null +++ b/app/src/main/res/values-w1240dp/dimens.xml @@ -0,0 +1,3 @@ + + 200dp + \ No newline at end of file diff --git a/app/src/main/res/values-w600dp/dimens.xml b/app/src/main/res/values-w600dp/dimens.xml new file mode 100644 index 0000000..22d7f00 --- /dev/null +++ b/app/src/main/res/values-w600dp/dimens.xml @@ -0,0 +1,3 @@ + + 48dp + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..125df87 --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ + + 16dp + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..4eec350 --- /dev/null +++ b/app/src/main/res/values/strings.xml @@ -0,0 +1,12 @@ + + kanaka ʻeiwa + Settings + + First Fragment + Second Fragment + Next + Previous + + Hello first fragment + Hello second fragment. Arg: %1$s + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..f7d6b17 --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,25 @@ + + + + + + +