Initial commit
|
@ -0,0 +1,15 @@
|
|||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
.cxx
|
||||
local.properties
|
|
@ -0,0 +1,3 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
|
@ -0,0 +1 @@
|
|||
QualityControl-App
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<bytecodeTargetLevel target="17" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetSelector">
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
</SelectionState>
|
||||
</selectionStates>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||
<option name="modules">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveExternalAnnotations" value="false" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectMigrations">
|
||||
<option name="MigrateToGradleLocalJavaHome">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="Android" />
|
||||
</component>
|
||||
</project>
|
|
@ -0,0 +1 @@
|
|||
/build
|
|
@ -0,0 +1,46 @@
|
|||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.utopiaindustries.qualitycontrol'
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.utopiaindustries.qualitycontrol"
|
||||
minSdk 24
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation libs.appcompat
|
||||
implementation libs.material
|
||||
implementation libs.activity
|
||||
implementation libs.constraintlayout
|
||||
testImplementation libs.junit
|
||||
androidTestImplementation libs.ext.junit
|
||||
androidTestImplementation libs.espresso.core
|
||||
|
||||
implementation libs.retrofit.v290
|
||||
implementation libs.converter.gson
|
||||
implementation libs.glide
|
||||
implementation libs.easypermissions
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
|
@ -0,0 +1,26 @@
|
|||
package com.utopiaindustries.qualitycontrol;
|
||||
|
||||
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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
||||
*/
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("com.utopiaindustries.qualitycontrol", appContext.getPackageName());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-feature
|
||||
android:name="android.hardware.camera"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission
|
||||
android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
tools:ignore="ScopedStorage" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@drawable/search"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@drawable/search"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.QualityControlApp"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".activities.SummaryActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activities.SplashActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activities.HomeActivity"
|
||||
android:exported="true"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="com.utopiaindustries.qualitycontrol"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,152 @@
|
|||
package com.utopiaindustries.qualitycontrol.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.widget.Button;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.CheckingFragment;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.CuttingFragment;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.HomeFragment;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.PackingFragment;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.StitchingFragment;
|
||||
import com.utopiaindustries.qualitycontrol.fragments.SubStoreFragment;
|
||||
|
||||
import java.io.File;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class HomeActivity extends AppCompatActivity {
|
||||
|
||||
private int currentFragmentIndex = 0;
|
||||
private final List<Fragment> fragmentList = new ArrayList<>();
|
||||
//Button btnNext;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_home);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
//btnNext = findViewById(R.id.btn_next);
|
||||
|
||||
// Initialize fragments
|
||||
/*fragmentList.add(new HomeFragment());
|
||||
fragmentList.add(new CuttingFragment());
|
||||
fragmentList.add(new StitchingFragment());
|
||||
fragmentList.add(new CheckingFragment());
|
||||
fragmentList.add(new PackingFragment());
|
||||
fragmentList.add(new SubStoreFragment());*/
|
||||
|
||||
// Load the first fragment
|
||||
//loadFragment(fragmentList.get(currentFragmentIndex));
|
||||
|
||||
/*btnNext.setOnClickListener(v -> navigateNext());*/
|
||||
|
||||
// Load the first fragment only if there's no saved instance
|
||||
if (savedInstanceState == null) {
|
||||
navigateToFragment(new HomeFragment(), false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void navigateToFragment(Fragment fragment, boolean addToBackStack) {
|
||||
FragmentManager fragmentManager = getSupportFragmentManager();
|
||||
FragmentTransaction transaction = fragmentManager.beginTransaction()
|
||||
.replace(R.id.fragment_container, fragment);
|
||||
|
||||
if (addToBackStack) {
|
||||
transaction.addToBackStack(null); // Add to the back stack
|
||||
}
|
||||
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
// Method to navigate to a specific fragment
|
||||
/*public void navigateToFragment(Fragment fragment, boolean addToBackStack) {
|
||||
androidx.fragment.app.FragmentTransaction transaction = getSupportFragmentManager()
|
||||
.beginTransaction()
|
||||
.replace(R.id.fragment_container, fragment);
|
||||
|
||||
if (addToBackStack) {
|
||||
transaction.addToBackStack(null);
|
||||
}
|
||||
|
||||
transaction.commit();
|
||||
}*/
|
||||
|
||||
/*private void navigateNext() {
|
||||
if (currentFragmentIndex < fragmentList.size() - 1) {
|
||||
currentFragmentIndex++;
|
||||
loadFragment(fragmentList.get(currentFragmentIndex));
|
||||
|
||||
// Change button text to "Finish" on the last fragment
|
||||
if (currentFragmentIndex == fragmentList.size() - 1) {
|
||||
Button btnNext = findViewById(R.id.btn_next);
|
||||
btnNext.setText("Finish");
|
||||
}
|
||||
} else {
|
||||
// Navigate to Summary Activity
|
||||
Intent intent = new Intent(this, SummaryActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}*/
|
||||
|
||||
private void loadFragment(Fragment fragment) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.replace(R.id.fragment_container, fragment)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
}
|
||||
|
||||
/*@Override
|
||||
public void onBackPressed() {
|
||||
*//*Fragment myFragment = getSupportFragmentManager().findFragmentById(R.id.fragment_container);
|
||||
if (myFragment instanceof CuttingFragment) {
|
||||
finish();
|
||||
} else {
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
|
||||
getSupportFragmentManager().popBackStack();
|
||||
} else {
|
||||
super.onBackPressed();
|
||||
}
|
||||
}*//*
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
|
||||
Log.i("TAG", "=============onBackPressed - Popping backstack====");
|
||||
getSupportFragmentManager().popBackStack();
|
||||
} else {
|
||||
Log.i("TAG", "=============onBackPressed called because nothing on backstack====");
|
||||
super.onBackPressed();
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
|
||||
getSupportFragmentManager().popBackStack(); // Go back to the previous fragment
|
||||
} else {
|
||||
super.onBackPressed(); // Exit the activity
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,62 @@
|
|||
package com.utopiaindustries.qualitycontrol.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.helper.Helper;
|
||||
import com.utopiaindustries.qualitycontrol.helper.Preference;
|
||||
|
||||
public class SplashActivity extends AppCompatActivity {
|
||||
|
||||
private final int TIMER = 1200;
|
||||
boolean isLoggedIn = false;
|
||||
TextView txtVersion;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_splash);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
txtVersion = findViewById(R.id.txt_version);
|
||||
txtVersion.setText(getResources().getString(R.string.app_version));
|
||||
|
||||
isLoggedIn = Preference.getMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext());
|
||||
|
||||
new Handler().postDelayed(new Runnable() {
|
||||
public void run() {
|
||||
|
||||
Intent myIntent = new Intent(SplashActivity.this, HomeActivity.class);
|
||||
startActivity(myIntent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
|
||||
/* if (isLoggedIn) {
|
||||
Intent myIntent = new Intent(SplashActivity.this, MainActivity.class);
|
||||
startActivity(myIntent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
} else {
|
||||
Intent myIntent = new Intent(SplashActivity.this, LoginActivity.class);
|
||||
startActivity(myIntent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
}*/
|
||||
}
|
||||
}, TIMER);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package com.utopiaindustries.qualitycontrol.activities;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
|
||||
public class SummaryActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_summary);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.utopiaindustries.qualitycontrol.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
|
||||
|
||||
//private byte[] file;
|
||||
//private List<String> imageList;
|
||||
List<byte[]> imageList;
|
||||
private Context context;
|
||||
|
||||
public ImageAdapter(List<byte[]> imageList, Context context) {
|
||||
this.imageList = imageList;
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_image, parent, false);
|
||||
return new ImageViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {
|
||||
//holder.imageView.setImageBitmap(null);
|
||||
holder.imageView.setImageResource(R.drawable.img_load);
|
||||
//Bitmap bitmap = BitmapFactory.decodeByteArray( imageList.get(position), 0 , imageList.get(position).length );
|
||||
//holder.imageView.setImageBitmap( bitmap );
|
||||
|
||||
/*Glide.with(context)
|
||||
.load(bitmap) // Load the Bitmap directly
|
||||
.placeholder(R.drawable.img_load)
|
||||
.apply(new RequestOptions().centerCrop()) // Optional: apply transformations like center crop
|
||||
.into(holder.imageView);*/
|
||||
|
||||
Glide.with(context)
|
||||
.load(imageList.get(position)) // Glide will handle the decoding and placeholder
|
||||
.placeholder(R.drawable.img_load)
|
||||
.apply(new RequestOptions().centerCrop())
|
||||
.into(holder.imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return imageList.size();
|
||||
}
|
||||
|
||||
public class ImageViewHolder extends RecyclerView.ViewHolder {
|
||||
ImageView imageView;
|
||||
|
||||
public ImageViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
imageView = itemView.findViewById(R.id.imageView);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,85 @@
|
|||
package com.utopiaindustries.qualitycontrol.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemAdapter extends RecyclerView.Adapter<ItemAdapter.ItemViewHolder> {
|
||||
|
||||
private final Context context;
|
||||
private final List<Item> items;
|
||||
private final String[] dropdownOptions = {"1", "2", "3", "4", "5"};
|
||||
|
||||
public ItemAdapter(Context context, List<Item> items) {
|
||||
this.context = context;
|
||||
this.items = items;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
View view = LayoutInflater.from(context).inflate(R.layout.item_recycler_view, parent, false);
|
||||
return new ItemViewHolder(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
|
||||
Item currentItem = items.get(position);
|
||||
holder.tvItemName.setText(currentItem.getName());
|
||||
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(context,R.layout.spinner_style,dropdownOptions);
|
||||
adapter.setDropDownViewResource(R.layout.spinner_style);
|
||||
// Set up the Spinner (Dropdown)
|
||||
/*ArrayAdapter<String> adapter = new ArrayAdapter<>(context, android.R.layout.simple_spinner_item, dropdownOptions);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);*/
|
||||
holder.spinnerOptions.setAdapter(adapter);
|
||||
|
||||
// Preselect an option if needed
|
||||
holder.spinnerOptions.setSelection(currentItem.getSelectedOption());
|
||||
|
||||
// Save selected option when user selects one
|
||||
holder.spinnerOptions.setOnItemSelectedListener(new android.widget.AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(android.widget.AdapterView<?> parent, View view, int position, long id) {
|
||||
currentItem.setSelectedOption(position); // Save the selected option
|
||||
|
||||
if (currentItem.getSelectedOption() != position) { // Avoid unnecessary updates
|
||||
currentItem.setSelectedOption(position); // Save the selected option
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNothingSelected(android.widget.AdapterView<?> parent) {
|
||||
// Do nothing
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return items.size();
|
||||
}
|
||||
|
||||
public static class ItemViewHolder extends RecyclerView.ViewHolder {
|
||||
TextView tvItemName;
|
||||
Spinner spinnerOptions;
|
||||
|
||||
public ItemViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
tvItemName = itemView.findViewById(R.id.tv_item_name);
|
||||
spinnerOptions = itemView.findViewById(R.id.spinner_item_options);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package com.utopiaindustries.qualitycontrol.apiservice;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.models.QualityControlResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface ApiService {
|
||||
|
||||
/*@GET("rest/uic/inspection-report")
|
||||
Call<List<Container>> fetchAllReports(
|
||||
@Query("username") String username
|
||||
);*/
|
||||
|
||||
@GET("rest/application/authenticate-user")
|
||||
Call<QualityControlResponse> isUserAuthenticated(
|
||||
@Query("username") String username,
|
||||
@Query("password") String password
|
||||
);
|
||||
|
||||
|
||||
/*@POST("rest/application/save-truck-load")
|
||||
Call<PickResponse> pickTruckLoad(
|
||||
@Body PickupRequest request
|
||||
);*/
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.utopiaindustries.qualitycontrol.apiservice;
|
||||
|
||||
import retrofit2.Retrofit;
|
||||
|
||||
public class ApiServiceFactory {
|
||||
|
||||
private static ApiService apiService;
|
||||
|
||||
public synchronized static ApiService getApiService() {
|
||||
if ( apiService == null ) {
|
||||
Retrofit retrofit = RetrofitClient.getClient();
|
||||
apiService = retrofit.create( ApiService.class );
|
||||
}
|
||||
return apiService;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package com.utopiaindustries.qualitycontrol.apiservice;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import okhttp3.OkHttpClient;
|
||||
import retrofit2.Retrofit;
|
||||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
public class RetrofitClient {
|
||||
|
||||
private final static String BASE_URL = "http://192.168.90.228:8080/cosmos/";
|
||||
|
||||
private static Retrofit retrofit;
|
||||
|
||||
public synchronized static Retrofit getClient() {
|
||||
|
||||
Gson gson = new GsonBuilder()
|
||||
//.registerTypeAdapter(Boolean.class, new BooleanTypeAdapter())
|
||||
.create();
|
||||
|
||||
|
||||
if (retrofit == null) {
|
||||
try {
|
||||
|
||||
OkHttpClient okHttpClient = new OkHttpClient.Builder()
|
||||
.connectTimeout(40, TimeUnit.SECONDS)
|
||||
.readTimeout(40, TimeUnit.SECONDS)
|
||||
.writeTimeout(40, TimeUnit.SECONDS)
|
||||
.build();
|
||||
|
||||
retrofit = new Retrofit.Builder()
|
||||
.baseUrl(BASE_URL)
|
||||
.client(okHttpClient)
|
||||
.addConverterFactory(GsonConverterFactory.create(gson))
|
||||
.build();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return retrofit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ItemAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CheckingFragment extends Fragment {
|
||||
|
||||
RecyclerView recyclerView, imageRecyclerView;
|
||||
ImageAdapter imageAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_checking, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
List<Item> itemList = new ArrayList<>();
|
||||
itemList.add(new Item("Sort", 0));
|
||||
itemList.add(new Item("Set in Order", 0));
|
||||
itemList.add(new Item("Shine", 0));
|
||||
itemList.add(new Item("Standardize", 0));
|
||||
itemList.add(new Item("Sustain", 0));
|
||||
itemList.add(new Item("Safety", 0));
|
||||
|
||||
// Set up RecyclerView
|
||||
ItemAdapter adapter = new ItemAdapter(getActivity(), itemList);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
Button nextButton = view.findViewById(R.id.btn_next);
|
||||
nextButton.setOnClickListener(v -> {
|
||||
if (getActivity() instanceof HomeActivity) {
|
||||
((HomeActivity) getActivity()).navigateToFragment(new PackingFragment(), true);
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
private void initializeLayout(View view) {
|
||||
|
||||
recyclerView = view.findViewById(R.id.recycler_view_checking);
|
||||
imageRecyclerView = view.findViewById(R.id.imageRecyclerView);
|
||||
imageRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,427 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.activity.result.ActivityResultLauncher;
|
||||
import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.core.content.FileProvider;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.os.Environment;
|
||||
import android.provider.MediaStore;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ItemAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Array;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import pub.devrel.easypermissions.AfterPermissionGranted;
|
||||
import pub.devrel.easypermissions.EasyPermissions;
|
||||
|
||||
public class CuttingFragment extends Fragment {
|
||||
|
||||
RecyclerView recyclerView, imageRecyclerView;
|
||||
ImageAdapter imageAdapter;
|
||||
Button nextButton;
|
||||
ImageButton imagePicker, deleteImage;
|
||||
private static final int CAMERA_REQUEST = 100;
|
||||
private static final int GALLERY_REQUEST = 200;
|
||||
String filePath = "no_pic";
|
||||
ArrayList<byte[]> imageList = new ArrayList<>();
|
||||
|
||||
// Activity Result Launcher for Gallery
|
||||
private final ActivityResultLauncher<Intent> imagePickerLauncher =
|
||||
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
|
||||
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
|
||||
Uri selectedImage = result.getData().getData();
|
||||
if (selectedImage != null) {
|
||||
//imageView.setImageURI(selectedImage);
|
||||
Log.e("Selected-Image: ", "" + selectedImage);
|
||||
|
||||
uriToByteArrayAsync(
|
||||
getContext(),
|
||||
selectedImage,
|
||||
100, // Target size in KB
|
||||
compressedImage -> {
|
||||
// Handle the compressed image here, e.g., display it
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
//store.getReport().getItems().get(0).getCheckPoints().get(requestCode).addImageList(compressedImage);
|
||||
imageList.add(compressedImage);
|
||||
imageAdapter.notifyDataSetChanged();
|
||||
});
|
||||
},
|
||||
error -> {
|
||||
// Handle any errors
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
Toast.makeText(getContext(), "Error compressing image: " + error.getMessage(), Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Activity Result Launcher for Camera
|
||||
private final ActivityResultLauncher<Intent> cameraLauncher =
|
||||
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
|
||||
Uri contentUri = Uri.fromFile(new File((filePath)));
|
||||
|
||||
uriToByteArrayAsync(
|
||||
getContext(),
|
||||
contentUri,
|
||||
100, // Target size in KB
|
||||
compressedImage -> {
|
||||
// Handle the compressed image here, e.g., display it
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
//store.getReport().getItems().get(0).getCheckPoints().get(requestCode).addImageList(compressedImage);
|
||||
imageList.add(compressedImage);
|
||||
imageAdapter.notifyDataSetChanged();
|
||||
});
|
||||
},
|
||||
error -> {
|
||||
// Handle any errors
|
||||
requireActivity().runOnUiThread(() -> {
|
||||
Toast.makeText(getContext(), "Error compressing image: " + error.getMessage(), Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
Log.e("contentUri: ", "" + contentUri);
|
||||
if (result.getResultCode() == requireActivity().RESULT_OK && result.getData() != null) {
|
||||
|
||||
Uri selectedImage = result.getData().getData();
|
||||
if (selectedImage != null) {
|
||||
//imageView.setImageURI(selectedImage);
|
||||
Log.e("Selected-Image: ", "" + selectedImage);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
View view = inflater.inflate(R.layout.fragment_cutting, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
List<Item> itemList = new ArrayList<>();
|
||||
itemList.add(new Item("Sort", 0));
|
||||
itemList.add(new Item("Set in Order", 0));
|
||||
itemList.add(new Item("Shine", 0));
|
||||
itemList.add(new Item("Standardize", 0));
|
||||
itemList.add(new Item("Sustain", 0));
|
||||
itemList.add(new Item("Safety", 0));
|
||||
|
||||
// Set up RecyclerView
|
||||
ItemAdapter adapter = new ItemAdapter(getActivity(), itemList);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
imageAdapter = new ImageAdapter(imageList, getActivity());
|
||||
imageRecyclerView.setAdapter(imageAdapter);
|
||||
|
||||
nextButton.setOnClickListener(v -> {
|
||||
if (getActivity() instanceof HomeActivity) {
|
||||
((HomeActivity) getActivity()).navigateToFragment(new StitchingFragment(), true);
|
||||
}
|
||||
});
|
||||
|
||||
imagePicker.setOnClickListener(v -> {
|
||||
showAlertDialog(view);
|
||||
});
|
||||
|
||||
deleteImage.setOnClickListener(v -> {
|
||||
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initializeLayout(View view) {
|
||||
|
||||
imagePicker = view.findViewById(R.id.image_picker);
|
||||
deleteImage = view.findViewById(R.id.delete_image);
|
||||
nextButton = view.findViewById(R.id.btn_next);
|
||||
recyclerView = view.findViewById(R.id.recycler_view_cutting);
|
||||
imageRecyclerView = view.findViewById(R.id.imageRecyclerView);
|
||||
imageRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
public void showAlertDialog(View view) {
|
||||
ViewGroup viewGroup = view.findViewById(android.R.id.content);
|
||||
|
||||
TextView txt_camera, txt_gallery, txt_cancel;
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
|
||||
View view1 = LayoutInflater.from(getActivity()).inflate(R.layout.custom_layout, viewGroup, false);
|
||||
builder.setCancelable(false);
|
||||
builder.setView(view1);
|
||||
|
||||
txt_camera = view1.findViewById(R.id.txt_camera);
|
||||
txt_gallery = view1.findViewById(R.id.txt_gallery);
|
||||
txt_cancel = view1.findViewById(R.id.txt_cancel);
|
||||
|
||||
AlertDialog alertDialog = builder.create();
|
||||
Objects.requireNonNull(alertDialog.getWindow()).setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
txt_camera.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
alertDialog.dismiss();
|
||||
openCamera();
|
||||
}
|
||||
});
|
||||
|
||||
txt_gallery.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
alertDialog.dismiss();
|
||||
openGallery();
|
||||
}
|
||||
});
|
||||
|
||||
txt_cancel.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
alertDialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
alertDialog.show();
|
||||
}
|
||||
|
||||
@AfterPermissionGranted(GALLERY_REQUEST)
|
||||
public void openCamera() {
|
||||
if (hasCameraPermission()) {
|
||||
Log.e("hasCameraPermission: ", "true");
|
||||
// Have permission, do the thing!
|
||||
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
|
||||
// Ensure that there's a camera activity to handle the intent
|
||||
if (takePictureIntent.resolveActivity(requireActivity().getPackageManager()) != null) {
|
||||
// Create the File where the photo should go
|
||||
File photoFile = null;
|
||||
try {
|
||||
photoFile = createImageFile();
|
||||
} catch (IOException ex) {
|
||||
// Error occurred while creating the File
|
||||
|
||||
}
|
||||
// Continue only if the File was successfully created
|
||||
if (photoFile != null) {
|
||||
Uri photoURI = FileProvider.getUriForFile(requireActivity(),
|
||||
"com.utopiaindustries.qualitycontrol",
|
||||
photoFile);
|
||||
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
|
||||
//startActivityForResult(takePictureIntent, CAMERA_REQUEST);
|
||||
cameraLauncher.launch(takePictureIntent);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Ask for one permission
|
||||
String[] perms = {};
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
Log.e("TIRAMISU: ", "***");
|
||||
perms = new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.CAMERA};
|
||||
} else {
|
||||
Log.e("Not-TIRAMISU: ", "***");
|
||||
perms = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
|
||||
|
||||
}
|
||||
|
||||
//Log.e("perms: ",""+perms.length);
|
||||
|
||||
EasyPermissions.requestPermissions(this, getString(R.string.rationale_camera), CAMERA_REQUEST, perms);
|
||||
}
|
||||
}
|
||||
|
||||
public void openGallery() {
|
||||
if (hasGalleryPermission()) {
|
||||
// Have permission, do the thing!
|
||||
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
|
||||
// Start the Intent
|
||||
//startActivityForResult(galleryIntent, GALLERY_REQUEST);
|
||||
imagePickerLauncher.launch(galleryIntent);
|
||||
} else {
|
||||
// Ask for one permission
|
||||
String[] perms = {};
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
perms = new String[]{Manifest.permission.READ_MEDIA_IMAGES};
|
||||
} else {
|
||||
perms = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
||||
|
||||
}
|
||||
EasyPermissions.requestPermissions(this, getString(R.string.rationale_camera), GALLERY_REQUEST, perms);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean hasGalleryPermission() {
|
||||
String[] perms = {};
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
perms = new String[]{Manifest.permission.READ_MEDIA_IMAGES};
|
||||
} else {
|
||||
perms = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
||||
}
|
||||
|
||||
return EasyPermissions.hasPermissions(requireActivity(), perms);
|
||||
}
|
||||
|
||||
private boolean hasCameraPermission() {
|
||||
String[] perms = {};
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
||||
//Log.e("TIRAMISU: ","***");
|
||||
perms = new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.CAMERA};
|
||||
} else {
|
||||
//Log.e("Not-TIRAMISU: ","***");
|
||||
perms = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
|
||||
|
||||
}
|
||||
|
||||
//Log.e("perms: ",""+perms);
|
||||
return EasyPermissions.hasPermissions(requireActivity(), perms);
|
||||
}
|
||||
|
||||
private File createImageFile() throws IOException {
|
||||
// Create an image file name
|
||||
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
|
||||
String imageFileName = "JPEG_" + timeStamp + "_";
|
||||
File storageDir = requireActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES);
|
||||
File image = File.createTempFile(
|
||||
imageFileName, /* prefix */
|
||||
".jpg", /* suffix */
|
||||
storageDir /* directory */
|
||||
);
|
||||
|
||||
filePath = image.getAbsolutePath();
|
||||
return image;
|
||||
}
|
||||
|
||||
/*public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
if (resultCode == RESULT_OK) {
|
||||
|
||||
if (requestCode == GALLERY_REQUEST) {
|
||||
Log.e("=====From Gallery", "=========");
|
||||
Uri contentUri = data.getData();
|
||||
//filePath = Helper.getPath(contentUri, this);
|
||||
*//*try {
|
||||
//For Cropping purposes
|
||||
String currentTimeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
|
||||
File destinationFile = new File(getCacheDir(), "croppedImage.png" + currentTimeStamp);
|
||||
Uri destinationUri = Uri.fromFile(destinationFile);
|
||||
|
||||
} catch (Exception e) {
|
||||
Log.e("=====From Gallery error", "=========" + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}*//*
|
||||
|
||||
|
||||
} else if (requestCode == CAMERA_REQUEST) {
|
||||
//Log.e("=====From Camera", "=========" + filePath);
|
||||
|
||||
// rotatedBitmap = Helper.getBitmap(filePath);
|
||||
|
||||
//For Cropping purposes
|
||||
*//*String currentTimeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date());
|
||||
File destinationFile = new File(getCacheDir(), "croppedImage.png" + currentTimeStamp);
|
||||
Uri destinationUri = Uri.fromFile(destinationFile);
|
||||
Uri contentUri = Uri.fromFile(new File((filePath)));*//*
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
public void uriToByteArrayAsync(
|
||||
Context context,
|
||||
Uri uri,
|
||||
int targetSizeInKB,
|
||||
Consumer<byte[]> onSuccess,
|
||||
Consumer<Exception> onError
|
||||
) {
|
||||
new Thread(() -> {
|
||||
try {
|
||||
int targetSizeInBytes = targetSizeInKB * 1024;
|
||||
|
||||
// Load the image as a Bitmap without scaling
|
||||
Bitmap bitmap;
|
||||
try (InputStream inputStream = context.getContentResolver().openInputStream(uri)) {
|
||||
bitmap = BitmapFactory.decodeStream(inputStream);
|
||||
}
|
||||
|
||||
if (bitmap == null) {
|
||||
throw new IOException("Failed to decode image from URI.");
|
||||
}
|
||||
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
int minQuality = 10;
|
||||
int maxQuality = 100;
|
||||
int quality = maxQuality;
|
||||
|
||||
// Binary search for the best quality that meets the target size
|
||||
while (minQuality <= maxQuality) {
|
||||
byteArrayOutputStream.reset();
|
||||
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, byteArrayOutputStream);
|
||||
|
||||
int byteSize = byteArrayOutputStream.size();
|
||||
if (byteSize > targetSizeInBytes) {
|
||||
maxQuality = quality - 1;
|
||||
} else {
|
||||
minQuality = quality + 1;
|
||||
}
|
||||
quality = (minQuality + maxQuality) / 2;
|
||||
}
|
||||
|
||||
onSuccess.accept(byteArrayOutputStream.toByteArray());
|
||||
} catch (IOException e) {
|
||||
onError.accept(e);
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.AutoCompleteTextView;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
public class HomeFragment extends Fragment {
|
||||
|
||||
AutoCompleteTextView locationTextview, departmentTextView, floorTextview;
|
||||
TextView txtCurrentDate;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_home, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
String date = new SimpleDateFormat("EEEE, MMM d, yyyy", Locale.getDefault()).format(new Date());
|
||||
txtCurrentDate.setText(date);
|
||||
|
||||
locationTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
|
||||
String item = adapterView.getItemAtPosition(position).toString();
|
||||
Log.e("Item-----------: ", "" + item);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
departmentTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
|
||||
String item = adapterView.getItemAtPosition(position).toString();
|
||||
Log.e("Item-----------: ", "" + item);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
floorTextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
|
||||
String item = adapterView.getItemAtPosition(position).toString();
|
||||
Log.e("Item-----------: ", "" + item);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Button nextButton = view.findViewById(R.id.btn_next);
|
||||
nextButton.setOnClickListener(v -> {
|
||||
if (getActivity() instanceof HomeActivity) {
|
||||
((HomeActivity) getActivity()).navigateToFragment(new CuttingFragment(), true);
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
public void initializeLayout(View view) {
|
||||
txtCurrentDate = view.findViewById(R.id.txt_current_date);
|
||||
locationTextview = view.findViewById(R.id.location_textview);
|
||||
departmentTextView = view.findViewById(R.id.department_textview);
|
||||
floorTextview = view.findViewById(R.id.floor_textview);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ItemAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PackingFragment extends Fragment {
|
||||
|
||||
RecyclerView recyclerView, imageRecyclerView;
|
||||
ImageAdapter imageAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_packing, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
List<Item> itemList = new ArrayList<>();
|
||||
itemList.add(new Item("Sort", 0));
|
||||
itemList.add(new Item("Set in Order", 0));
|
||||
itemList.add(new Item("Shine", 0));
|
||||
itemList.add(new Item("Standardize", 0));
|
||||
itemList.add(new Item("Sustain", 0));
|
||||
itemList.add(new Item("Safety", 0));
|
||||
|
||||
// Set up RecyclerView
|
||||
ItemAdapter adapter = new ItemAdapter(getActivity(), itemList);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
Button nextButton = view.findViewById(R.id.btn_next);
|
||||
nextButton.setOnClickListener(v -> {
|
||||
if (getActivity() instanceof HomeActivity) {
|
||||
((HomeActivity) getActivity()).navigateToFragment(new SubStoreFragment(), true);
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
private void initializeLayout(View view) {
|
||||
|
||||
recyclerView = view.findViewById(R.id.recycler_view_packing);
|
||||
imageRecyclerView = view.findViewById(R.id.imageRecyclerView);
|
||||
imageRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ItemAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class StitchingFragment extends Fragment {
|
||||
|
||||
RecyclerView recyclerView, imageRecyclerView;
|
||||
ImageAdapter imageAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_stitching, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
List<Item> itemList = new ArrayList<>();
|
||||
itemList.add(new Item("Sort", 0));
|
||||
itemList.add(new Item("Set in Order", 0));
|
||||
itemList.add(new Item("Shine", 0));
|
||||
itemList.add(new Item("Standardize", 0));
|
||||
itemList.add(new Item("Sustain", 0));
|
||||
itemList.add(new Item("Safety", 0));
|
||||
|
||||
// Set up RecyclerView
|
||||
ItemAdapter adapter = new ItemAdapter(getActivity(), itemList);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
Button nextButton = view.findViewById(R.id.btn_next);
|
||||
nextButton.setOnClickListener(v -> {
|
||||
if (getActivity() instanceof HomeActivity) {
|
||||
((HomeActivity) getActivity()).navigateToFragment(new CheckingFragment(), true);
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
private void initializeLayout(View view) {
|
||||
|
||||
recyclerView = view.findViewById(R.id.recycler_view_stitching);
|
||||
imageRecyclerView = view.findViewById(R.id.imageRecyclerView);
|
||||
imageRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
package com.utopiaindustries.qualitycontrol.fragments;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.R;
|
||||
import com.utopiaindustries.qualitycontrol.activities.HomeActivity;
|
||||
import com.utopiaindustries.qualitycontrol.activities.SummaryActivity;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ImageAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.adapters.ItemAdapter;
|
||||
import com.utopiaindustries.qualitycontrol.models.Item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SubStoreFragment extends Fragment {
|
||||
|
||||
RecyclerView recyclerView, imageRecyclerView;
|
||||
ImageAdapter imageAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_sub_store, container, false);
|
||||
|
||||
initializeLayout(view);
|
||||
|
||||
List<Item> itemList = new ArrayList<>();
|
||||
itemList.add(new Item("Sort", 0));
|
||||
itemList.add(new Item("Set in Order", 0));
|
||||
itemList.add(new Item("Shine", 0));
|
||||
itemList.add(new Item("Standardize", 0));
|
||||
itemList.add(new Item("Sustain", 0));
|
||||
itemList.add(new Item("Safety", 0));
|
||||
|
||||
// Set up RecyclerView
|
||||
ItemAdapter adapter = new ItemAdapter(getActivity(), itemList);
|
||||
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
recyclerView.setAdapter(adapter);
|
||||
|
||||
Button nextButton = view.findViewById(R.id.btn_next);
|
||||
nextButton.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(getActivity(), SummaryActivity.class);
|
||||
startActivity(intent);
|
||||
getActivity().finish();
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
}
|
||||
|
||||
private void initializeLayout(View view) {
|
||||
|
||||
recyclerView = view.findViewById(R.id.recycler_view_substore);
|
||||
imageRecyclerView = view.findViewById(R.id.imageRecyclerView);
|
||||
imageRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package com.utopiaindustries.qualitycontrol.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
public class Helper {
|
||||
|
||||
public static final String project_file = "Quality-Control";
|
||||
|
||||
public static boolean isValidEmail(CharSequence target) {
|
||||
return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
|
||||
}
|
||||
|
||||
public static boolean isNetworkConnected(Context context) {
|
||||
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();
|
||||
return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
package com.utopiaindustries.qualitycontrol.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
public class Preference {
|
||||
|
||||
private static final int PREFERENCE_MODE_PRIVATE = 0;
|
||||
private static String MY_STRING_PREF = "mystringpref";
|
||||
public static String LOGIN_FILE = "login_prefs";
|
||||
public static String TEMP_FILE = "temp_prefs";
|
||||
|
||||
|
||||
public static String KEY_PIN_CODE = "pin_code";
|
||||
|
||||
public static String KEY_CUSTOMER_ID = "cus_id";
|
||||
public static String KEY_CUSTOMER_NAME = "cus_name";
|
||||
|
||||
public static String KEY_USER_IS_MASTER = "user_is_master";
|
||||
|
||||
public static SharedPreferences getPrefs(String nameOfFile, Context context) {
|
||||
|
||||
return context.getSharedPreferences(nameOfFile, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
public static boolean containsKey(String fileName, String key, Context context) {
|
||||
return getPrefs(fileName, context).contains(key);
|
||||
}
|
||||
|
||||
public static String getMyStringPref(String fileName, String key, Context context) {
|
||||
|
||||
return getPrefs(fileName,context).getString(key, "default");
|
||||
}
|
||||
public static boolean getMyBooleanPref(String fileName, String key, Context context) {
|
||||
|
||||
return getPrefs(fileName,context).getBoolean(key,false);
|
||||
}
|
||||
public static int getMyIntPref(String fileName, String key, Context context) {
|
||||
|
||||
return getPrefs(fileName,context).getInt(key, 0);
|
||||
}
|
||||
|
||||
public static long getMyLongPref(String fileName, String key, Context context) {
|
||||
|
||||
return getPrefs(fileName,context).getLong(key, 0);
|
||||
}
|
||||
|
||||
public static void setMyLongPref(String fileName, String key, Context context, long value) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().putLong(key, value).apply();
|
||||
}
|
||||
|
||||
public static void setMyStringPref(String fileName, String key, Context context, String value) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().putString(key, value).apply();
|
||||
}
|
||||
|
||||
public static void setMyBooleanPref(String fileName, String key, Context context, boolean value) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().putBoolean(key, value).apply();
|
||||
}
|
||||
|
||||
public static void setMyIntPref(String fileName, String key, Context context, int value) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().putInt(key, value).apply();
|
||||
}
|
||||
|
||||
|
||||
public static void remove(String fileName, String key, Context context) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().remove(key).apply();
|
||||
}
|
||||
public static void removeAll(String fileName, Context context) {
|
||||
// perform validation etc..
|
||||
getPrefs(fileName,context).edit().clear().apply();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.utopiaindustries.qualitycontrol.models;
|
||||
|
||||
public class Item {
|
||||
|
||||
private final String name;
|
||||
private int selectedOption; // Index of the selected dropdown option
|
||||
|
||||
public Item(String name, int selectedOption) {
|
||||
this.name = name;
|
||||
this.selectedOption = selectedOption;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getSelectedOption() {
|
||||
return selectedOption;
|
||||
}
|
||||
|
||||
public void setSelectedOption(int selectedOption) {
|
||||
this.selectedOption = selectedOption;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
package com.utopiaindustries.qualitycontrol.models;
|
||||
|
||||
public class QualityControlResponse {
|
||||
}
|
|
@ -0,0 +1,467 @@
|
|||
package com.utopiaindustries.qualitycontrol.utils;
|
||||
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class SharedViewModel extends ViewModel {
|
||||
private String currentDate;
|
||||
private String location;
|
||||
private String department;
|
||||
private String floor;
|
||||
|
||||
//Cutting
|
||||
private String cuttingSort;
|
||||
private String cuttingSetInOrder;
|
||||
private String cuttingShine;
|
||||
private String cuttingStandardize;
|
||||
private String cuttingSustain;
|
||||
private String cuttingSafety;
|
||||
private String cuttingPercentage;
|
||||
private String cuttingRemarks;
|
||||
private ArrayList<byte[]> cuttingImageList;
|
||||
|
||||
//Stitching
|
||||
private String stitchingSort;
|
||||
private String stitchingSetInOrder;
|
||||
private String stitchingShine;
|
||||
private String stitchingStandardize;
|
||||
private String stitchingSustain;
|
||||
private String stitchingSafety;
|
||||
private String stitchingPercentage;
|
||||
private String stitchingRemarks;
|
||||
private ArrayList<byte[]> stitchingImageList;
|
||||
|
||||
//Checking
|
||||
private String checkingSort;
|
||||
private String checkingSetInOrder;
|
||||
private String checkingShine;
|
||||
private String checkingStandardize;
|
||||
private String checkingSustain;
|
||||
private String checkingSafety;
|
||||
private String checkingPercentage;
|
||||
private String checkingRemarks;
|
||||
private ArrayList<byte[]> checkingImageList;
|
||||
|
||||
//Packing
|
||||
private String packingSort;
|
||||
private String packingSetInOrder;
|
||||
private String packingShine;
|
||||
private String packingStandardize;
|
||||
private String packingSustain;
|
||||
private String packingSafety;
|
||||
private String packingPercentage;
|
||||
private String packingRemarks;
|
||||
private ArrayList<byte[]> packingImageList;
|
||||
|
||||
//Sub Store
|
||||
private String subStoreSort;
|
||||
private String subStoreSetInOrder;
|
||||
private String subStoreShine;
|
||||
private String subStoreStandardize;
|
||||
private String subStoreSustain;
|
||||
private String subStoreSafety;
|
||||
private String subStorePercentage;
|
||||
private String subStoreRemarks;
|
||||
private ArrayList<byte[]> subStoreImageList;
|
||||
|
||||
public SharedViewModel() {
|
||||
cuttingImageList = new ArrayList<>();
|
||||
stitchingImageList = new ArrayList<>();
|
||||
checkingImageList = new ArrayList<>();
|
||||
packingImageList = new ArrayList<>();
|
||||
subStoreImageList = new ArrayList<>();
|
||||
}
|
||||
|
||||
public String getCurrentDate() {
|
||||
return currentDate;
|
||||
}
|
||||
|
||||
public void setCurrentDate(String currentDate) {
|
||||
this.currentDate = currentDate;
|
||||
}
|
||||
|
||||
public String getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
public void setLocation(String location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public String getDepartment() {
|
||||
return department;
|
||||
}
|
||||
|
||||
public void setDepartment(String department) {
|
||||
this.department = department;
|
||||
}
|
||||
|
||||
public String getFloor() {
|
||||
return floor;
|
||||
}
|
||||
|
||||
public void setFloor(String floor) {
|
||||
this.floor = floor;
|
||||
}
|
||||
|
||||
public String getCuttingSort() {
|
||||
return cuttingSort;
|
||||
}
|
||||
|
||||
public void setCuttingSort(String cuttingSort) {
|
||||
this.cuttingSort = cuttingSort;
|
||||
}
|
||||
|
||||
public String getCuttingSetInOrder() {
|
||||
return cuttingSetInOrder;
|
||||
}
|
||||
|
||||
public void setCuttingSetInOrder(String cuttingSetInOrder) {
|
||||
this.cuttingSetInOrder = cuttingSetInOrder;
|
||||
}
|
||||
|
||||
public String getCuttingShine() {
|
||||
return cuttingShine;
|
||||
}
|
||||
|
||||
public void setCuttingShine(String cuttingShine) {
|
||||
this.cuttingShine = cuttingShine;
|
||||
}
|
||||
|
||||
public String getCuttingStandardize() {
|
||||
return cuttingStandardize;
|
||||
}
|
||||
|
||||
public void setCuttingStandardize(String cuttingStandardize) {
|
||||
this.cuttingStandardize = cuttingStandardize;
|
||||
}
|
||||
|
||||
public String getCuttingSustain() {
|
||||
return cuttingSustain;
|
||||
}
|
||||
|
||||
public void setCuttingSustain(String cuttingSustain) {
|
||||
this.cuttingSustain = cuttingSustain;
|
||||
}
|
||||
|
||||
public String getCuttingSafety() {
|
||||
return cuttingSafety;
|
||||
}
|
||||
|
||||
public void setCuttingSafety(String cuttingSafety) {
|
||||
this.cuttingSafety = cuttingSafety;
|
||||
}
|
||||
|
||||
public String getCuttingPercentage() {
|
||||
return cuttingPercentage;
|
||||
}
|
||||
|
||||
public void setCuttingPercentage(String cuttingPercentage) {
|
||||
this.cuttingPercentage = cuttingPercentage;
|
||||
}
|
||||
|
||||
public String getCuttingRemarks() {
|
||||
return cuttingRemarks;
|
||||
}
|
||||
|
||||
public void setCuttingRemarks(String cuttingRemarks) {
|
||||
this.cuttingRemarks = cuttingRemarks;
|
||||
}
|
||||
|
||||
public ArrayList<byte[]> getCuttingImageList() {
|
||||
return cuttingImageList;
|
||||
}
|
||||
|
||||
public void setCuttingImageList(ArrayList<byte[]> cuttingImageList) {
|
||||
this.cuttingImageList = cuttingImageList;
|
||||
}
|
||||
|
||||
public String getStitchingSort() {
|
||||
return stitchingSort;
|
||||
}
|
||||
|
||||
public void setStitchingSort(String stitchingSort) {
|
||||
this.stitchingSort = stitchingSort;
|
||||
}
|
||||
|
||||
public String getStitchingSetInOrder() {
|
||||
return stitchingSetInOrder;
|
||||
}
|
||||
|
||||
public void setStitchingSetInOrder(String stitchingSetInOrder) {
|
||||
this.stitchingSetInOrder = stitchingSetInOrder;
|
||||
}
|
||||
|
||||
public String getStitchingShine() {
|
||||
return stitchingShine;
|
||||
}
|
||||
|
||||
public void setStitchingShine(String stitchingShine) {
|
||||
this.stitchingShine = stitchingShine;
|
||||
}
|
||||
|
||||
public String getStitchingStandardize() {
|
||||
return stitchingStandardize;
|
||||
}
|
||||
|
||||
public void setStitchingStandardize(String stitchingStandardize) {
|
||||
this.stitchingStandardize = stitchingStandardize;
|
||||
}
|
||||
|
||||
public String getStitchingSustain() {
|
||||
return stitchingSustain;
|
||||
}
|
||||
|
||||
public void setStitchingSustain(String stitchingSustain) {
|
||||
this.stitchingSustain = stitchingSustain;
|
||||
}
|
||||
|
||||
public String getStitchingSafety() {
|
||||
return stitchingSafety;
|
||||
}
|
||||
|
||||
public void setStitchingSafety(String stitchingSafety) {
|
||||
this.stitchingSafety = stitchingSafety;
|
||||
}
|
||||
|
||||
public String getStitchingPercentage() {
|
||||
return stitchingPercentage;
|
||||
}
|
||||
|
||||
public void setStitchingPercentage(String stitchingPercentage) {
|
||||
this.stitchingPercentage = stitchingPercentage;
|
||||
}
|
||||
|
||||
public String getStitchingRemarks() {
|
||||
return stitchingRemarks;
|
||||
}
|
||||
|
||||
public void setStitchingRemarks(String stitchingRemarks) {
|
||||
this.stitchingRemarks = stitchingRemarks;
|
||||
}
|
||||
|
||||
public ArrayList<byte[]> getStitchingImageList() {
|
||||
return stitchingImageList;
|
||||
}
|
||||
|
||||
public void setStitchingImageList(ArrayList<byte[]> stitchingImageList) {
|
||||
this.stitchingImageList = stitchingImageList;
|
||||
}
|
||||
|
||||
public String getCheckingSort() {
|
||||
return checkingSort;
|
||||
}
|
||||
|
||||
public void setCheckingSort(String checkingSort) {
|
||||
this.checkingSort = checkingSort;
|
||||
}
|
||||
|
||||
public String getCheckingSetInOrder() {
|
||||
return checkingSetInOrder;
|
||||
}
|
||||
|
||||
public void setCheckingSetInOrder(String checkingSetInOrder) {
|
||||
this.checkingSetInOrder = checkingSetInOrder;
|
||||
}
|
||||
|
||||
public String getCheckingShine() {
|
||||
return checkingShine;
|
||||
}
|
||||
|
||||
public void setCheckingShine(String checkingShine) {
|
||||
this.checkingShine = checkingShine;
|
||||
}
|
||||
|
||||
public String getCheckingStandardize() {
|
||||
return checkingStandardize;
|
||||
}
|
||||
|
||||
public void setCheckingStandardize(String checkingStandardize) {
|
||||
this.checkingStandardize = checkingStandardize;
|
||||
}
|
||||
|
||||
public String getCheckingSustain() {
|
||||
return checkingSustain;
|
||||
}
|
||||
|
||||
public void setCheckingSustain(String checkingSustain) {
|
||||
this.checkingSustain = checkingSustain;
|
||||
}
|
||||
|
||||
public String getCheckingSafety() {
|
||||
return checkingSafety;
|
||||
}
|
||||
|
||||
public void setCheckingSafety(String checkingSafety) {
|
||||
this.checkingSafety = checkingSafety;
|
||||
}
|
||||
|
||||
public String getCheckingPercentage() {
|
||||
return checkingPercentage;
|
||||
}
|
||||
|
||||
public void setCheckingPercentage(String checkingPercentage) {
|
||||
this.checkingPercentage = checkingPercentage;
|
||||
}
|
||||
|
||||
public String getCheckingRemarks() {
|
||||
return checkingRemarks;
|
||||
}
|
||||
|
||||
public void setCheckingRemarks(String checkingRemarks) {
|
||||
this.checkingRemarks = checkingRemarks;
|
||||
}
|
||||
|
||||
public ArrayList<byte[]> getCheckingImageList() {
|
||||
return checkingImageList;
|
||||
}
|
||||
|
||||
public void setCheckingImageList(ArrayList<byte[]> checkingImageList) {
|
||||
this.checkingImageList = checkingImageList;
|
||||
}
|
||||
|
||||
public String getPackingSort() {
|
||||
return packingSort;
|
||||
}
|
||||
|
||||
public void setPackingSort(String packingSort) {
|
||||
this.packingSort = packingSort;
|
||||
}
|
||||
|
||||
public String getPackingSetInOrder() {
|
||||
return packingSetInOrder;
|
||||
}
|
||||
|
||||
public void setPackingSetInOrder(String packingSetInOrder) {
|
||||
this.packingSetInOrder = packingSetInOrder;
|
||||
}
|
||||
|
||||
public String getPackingShine() {
|
||||
return packingShine;
|
||||
}
|
||||
|
||||
public void setPackingShine(String packingShine) {
|
||||
this.packingShine = packingShine;
|
||||
}
|
||||
|
||||
public String getPackingStandardize() {
|
||||
return packingStandardize;
|
||||
}
|
||||
|
||||
public void setPackingStandardize(String packingStandardize) {
|
||||
this.packingStandardize = packingStandardize;
|
||||
}
|
||||
|
||||
public String getPackingSustain() {
|
||||
return packingSustain;
|
||||
}
|
||||
|
||||
public void setPackingSustain(String packingSustain) {
|
||||
this.packingSustain = packingSustain;
|
||||
}
|
||||
|
||||
public String getPackingSafety() {
|
||||
return packingSafety;
|
||||
}
|
||||
|
||||
public void setPackingSafety(String packingSafety) {
|
||||
this.packingSafety = packingSafety;
|
||||
}
|
||||
|
||||
public String getPackingPercentage() {
|
||||
return packingPercentage;
|
||||
}
|
||||
|
||||
public void setPackingPercentage(String packingPercentage) {
|
||||
this.packingPercentage = packingPercentage;
|
||||
}
|
||||
|
||||
public String getPackingRemarks() {
|
||||
return packingRemarks;
|
||||
}
|
||||
|
||||
public void setPackingRemarks(String packingRemarks) {
|
||||
this.packingRemarks = packingRemarks;
|
||||
}
|
||||
|
||||
public ArrayList<byte[]> getPackingImageList() {
|
||||
return packingImageList;
|
||||
}
|
||||
|
||||
public void setPackingImageList(ArrayList<byte[]> packingImageList) {
|
||||
this.packingImageList = packingImageList;
|
||||
}
|
||||
|
||||
public String getSubStoreSort() {
|
||||
return subStoreSort;
|
||||
}
|
||||
|
||||
public void setSubStoreSort(String subStoreSort) {
|
||||
this.subStoreSort = subStoreSort;
|
||||
}
|
||||
|
||||
public String getSubStoreSetInOrder() {
|
||||
return subStoreSetInOrder;
|
||||
}
|
||||
|
||||
public void setSubStoreSetInOrder(String subStoreSetInOrder) {
|
||||
this.subStoreSetInOrder = subStoreSetInOrder;
|
||||
}
|
||||
|
||||
public String getSubStoreShine() {
|
||||
return subStoreShine;
|
||||
}
|
||||
|
||||
public void setSubStoreShine(String subStoreShine) {
|
||||
this.subStoreShine = subStoreShine;
|
||||
}
|
||||
|
||||
public String getSubStoreStandardize() {
|
||||
return subStoreStandardize;
|
||||
}
|
||||
|
||||
public void setSubStoreStandardize(String subStoreStandardize) {
|
||||
this.subStoreStandardize = subStoreStandardize;
|
||||
}
|
||||
|
||||
public String getSubStoreSustain() {
|
||||
return subStoreSustain;
|
||||
}
|
||||
|
||||
public void setSubStoreSustain(String subStoreSustain) {
|
||||
this.subStoreSustain = subStoreSustain;
|
||||
}
|
||||
|
||||
public String getSubStoreSafety() {
|
||||
return subStoreSafety;
|
||||
}
|
||||
|
||||
public void setSubStoreSafety(String subStoreSafety) {
|
||||
this.subStoreSafety = subStoreSafety;
|
||||
}
|
||||
|
||||
public String getSubStorePercentage() {
|
||||
return subStorePercentage;
|
||||
}
|
||||
|
||||
public void setSubStorePercentage(String subStorePercentage) {
|
||||
this.subStorePercentage = subStorePercentage;
|
||||
}
|
||||
|
||||
public String getSubStoreRemarks() {
|
||||
return subStoreRemarks;
|
||||
}
|
||||
|
||||
public void setSubStoreRemarks(String subStoreRemarks) {
|
||||
this.subStoreRemarks = subStoreRemarks;
|
||||
}
|
||||
|
||||
public ArrayList<byte[]> getSubStoreImageList() {
|
||||
return subStoreImageList;
|
||||
}
|
||||
|
||||
public void setSubStoreImageList(ArrayList<byte[]> subStoreImageList) {
|
||||
this.subStoreImageList = subStoreImageList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.utopiaindustries.qualitycontrol.viewmodels;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.utopiaindustries.qualitycontrol.apiservice.ApiService;
|
||||
import com.utopiaindustries.qualitycontrol.apiservice.ApiServiceFactory;
|
||||
import com.utopiaindustries.qualitycontrol.models.QualityControlResponse;
|
||||
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
public class LoginViewModel extends ViewModel {
|
||||
|
||||
private MutableLiveData<QualityControlResponse> userLiveData;
|
||||
private MutableLiveData<String> errorLiveData;
|
||||
private MutableLiveData<Boolean> isLoading;
|
||||
private ApiService apiService;
|
||||
|
||||
public LoginViewModel() {
|
||||
apiService = ApiServiceFactory.getApiService();
|
||||
userLiveData = new MutableLiveData<>();
|
||||
errorLiveData = new MutableLiveData<>();
|
||||
isLoading = new MutableLiveData<>();
|
||||
}
|
||||
|
||||
public LiveData<QualityControlResponse> getUserLiveData() {
|
||||
return userLiveData;
|
||||
}
|
||||
|
||||
public LiveData<Boolean> getLoadingState() {
|
||||
|
||||
return isLoading;
|
||||
}
|
||||
|
||||
public LiveData<String> getErrorMessage() {
|
||||
return errorLiveData;
|
||||
}
|
||||
|
||||
public void authenticateUser(String user, String password) {
|
||||
isLoading.setValue(true);
|
||||
apiService.isUserAuthenticated(user, password).enqueue(new Callback<QualityControlResponse>() {
|
||||
@Override
|
||||
public void onResponse(Call<QualityControlResponse> call, Response<QualityControlResponse> response) {
|
||||
isLoading.setValue(false);
|
||||
if (response.isSuccessful() && response.body() != null) {
|
||||
userLiveData.setValue(response.body());
|
||||
} else {
|
||||
errorLiveData.setValue(response.message());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<QualityControlResponse> call, Throwable t) {
|
||||
isLoading.setValue(false);
|
||||
errorLiveData.setValue(t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public LiveData<QualityControlResponse> getUser() {
|
||||
return userLiveData;
|
||||
}
|
||||
|
||||
public LiveData<String> getError() {
|
||||
return errorLiveData;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:delay="10%"
|
||||
android:animation="@android:anim/slide_in_left"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:fillAfter="true" >
|
||||
|
||||
<alpha
|
||||
android:duration="50"
|
||||
android:fromAlpha="0.0"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:toAlpha="1.0" />
|
||||
|
||||
</set>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:fillAfter="true" >
|
||||
|
||||
<alpha
|
||||
android:duration="1000"
|
||||
android:fromAlpha="1.0"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:toAlpha="0.0" />
|
||||
|
||||
</set>
|
|
@ -0,0 +1,14 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
|
||||
>
|
||||
<scale xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:fromXScale="0"
|
||||
android:toXScale="1"
|
||||
android:fromYScale="0"
|
||||
android:toYScale="1"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:duration="400"
|
||||
android:fillAfter="true">
|
||||
</scale>
|
||||
</set>
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
|
||||
>
|
||||
<scale xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:fromXScale="1"
|
||||
android:toXScale="0"
|
||||
android:fromYScale="1"
|
||||
android:toYScale="0"
|
||||
android:pivotX="50%"
|
||||
android:pivotY="50%"
|
||||
android:duration="400"
|
||||
android:fillAfter="true">
|
||||
</scale>
|
||||
</set>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:fromYDelta="0"
|
||||
android:toYDelta="100%p"
|
||||
android:duration="300"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
|
||||
</set>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:fromYDelta="100%p"
|
||||
android:toYDelta="0"
|
||||
android:duration="300"
|
||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
|
||||
</set>
|
|
@ -0,0 +1,3 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate android:fromXDelta="0" android:fromYDelta="-1000" android:duration="2000"/>
|
||||
</set>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<translate
|
||||
android:duration="700"
|
||||
android:fromYDelta="100%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,11 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
|
||||
<translate
|
||||
android:duration="500"
|
||||
android:fromXDelta="-100%"
|
||||
android:fromYDelta="0%"
|
||||
android:toXDelta="0%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:duration="1000"
|
||||
android:fromXDelta="-100.0%p"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:toXDelta="0.0" />
|
||||
</set>
|
|
@ -0,0 +1,11 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
|
||||
<translate
|
||||
android:duration="100"
|
||||
android:fromXDelta="100%"
|
||||
android:fromYDelta="0%"
|
||||
android:toXDelta="0%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate
|
||||
android:duration="3000"
|
||||
android:fromXDelta="100.0%p"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:toXDelta="0.0%p" />
|
||||
</set>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<translate
|
||||
android:duration="700"
|
||||
android:fromYDelta="-100%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<translate
|
||||
android:duration="700"
|
||||
android:fromYDelta="0%"
|
||||
android:toYDelta="100%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,11 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
|
||||
<translate
|
||||
android:duration="500"
|
||||
android:fromXDelta="0%"
|
||||
android:fromYDelta="0%"
|
||||
android:toXDelta="-100%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,11 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shareInterpolator="false">
|
||||
|
||||
<translate
|
||||
android:duration="500"
|
||||
android:fromXDelta="0%"
|
||||
android:fromYDelta="0%"
|
||||
android:toXDelta="100%"
|
||||
android:toYDelta="0%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<translate
|
||||
android:duration="700"
|
||||
android:fromYDelta="0%"
|
||||
android:toYDelta="-100%"/>
|
||||
|
||||
</set>
|
|
@ -0,0 +1,5 @@
|
|||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate android:fromXDelta="0" android:fromYDelta="0"
|
||||
android:toYDelta="-2000"
|
||||
android:duration="1000"/>
|
||||
</set>
|
|
@ -0,0 +1,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||
|
||||
</vector>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners
|
||||
android:bottomLeftRadius="10dp"
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
<padding
|
||||
android:bottom="0dp"
|
||||
android:left="0dp"
|
||||
android:right="0dp"
|
||||
android:top="0dp" />
|
||||
<stroke
|
||||
android:width="0.5dp"
|
||||
android:color="@color/grey_200" />
|
||||
<solid android:color="@color/white" />
|
||||
</shape>
|
|
@ -0,0 +1,8 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke
|
||||
android:width="0.7dp"
|
||||
android:color="@color/grey_400" />
|
||||
|
||||
<corners
|
||||
android:radius="5dp"/>
|
||||
</shape>
|
|
@ -0,0 +1,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
|
||||
|
||||
</vector>
|
|
@ -0,0 +1,170 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M9,0L9,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,0L19,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,0L29,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,0L39,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,0L49,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,0L59,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,0L69,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,0L79,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M89,0L89,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M99,0L99,108"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,9L108,9"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,19L108,19"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,29L108,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,39L108,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,49L108,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,59L108,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,69L108,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,79L108,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,89L108,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M0,99L108,99"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,29L89,29"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,39L89,39"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,49L89,49"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,59L89,59"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,69L89,69"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M19,79L89,79"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M29,19L29,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M39,19L39,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M49,19L49,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M59,19L59,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M69,19L69,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
<path
|
||||
android:fillColor="#00000000"
|
||||
android:pathData="M79,19L79,89"
|
||||
android:strokeWidth="0.8"
|
||||
android:strokeColor="#33FFFFFF" />
|
||||
</vector>
|
|
@ -0,0 +1,30 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:endX="85.84757"
|
||||
android:endY="92.4963"
|
||||
android:startX="42.9492"
|
||||
android:startY="49.59793"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#44000000"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="#00000000"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
|
||||
android:strokeWidth="1"
|
||||
android:strokeColor="#00000000" />
|
||||
</vector>
|
|
@ -0,0 +1,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z"/>
|
||||
|
||||
</vector>
|
|
@ -0,0 +1,12 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="#000000"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M18.32,4.26C16.84,3.05 15.01,2.25 13,2.05v2.02c1.46,0.18 2.79,0.76 3.9,1.62L18.32,4.26zM19.93,11h2.02c-0.2,-2.01 -1,-3.84 -2.21,-5.32L18.31,7.1C19.17,8.21 19.75,9.54 19.93,11zM18.31,16.9l1.43,1.43c1.21,-1.48 2.01,-3.32 2.21,-5.32h-2.02C19.75,14.46 19.17,15.79 18.31,16.9zM13,19.93v2.02c2.01,-0.2 3.84,-1 5.32,-2.21l-1.43,-1.43C15.79,19.17 14.46,19.75 13,19.93zM13,12V7h-2v5H7l5,5l5,-5H13zM11,19.93v2.02c-5.05,-0.5 -9,-4.76 -9,-9.95s3.95,-9.45 9,-9.95v2.02C7.05,4.56 4,7.92 4,12S7.05,19.44 11,19.93z" />
|
||||
|
||||
</vector>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="10dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/grey_50" />
|
||||
<corners android:radius="0dp" />
|
||||
<stroke android:color="@color/black" android:width="0.3dp" />
|
||||
</shape>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:padding="10dp"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/blue_500" /> <!-- this one is ths color of the Rounded Button -->
|
||||
<corners android:radius="0dp" />
|
||||
</shape>
|
After Width: | Height: | Size: 21 KiB |
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="1440dp"
|
||||
android:height="320dp"
|
||||
android:viewportWidth="1440"
|
||||
android:viewportHeight="320">
|
||||
<path
|
||||
android:pathData="M0,96L1440,288L1440,320L0,320Z"
|
||||
android:fillColor="#9E9E9E"/>
|
||||
</vector>
|
|
@ -0,0 +1,63 @@
|
|||
<?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:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activities.HomeActivity">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/theme_color"
|
||||
android:minHeight="?attr/actionBarSize"
|
||||
android:theme="?attr/actionBarTheme"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Quality Control"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_15sdp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/toolbar"
|
||||
app:layout_constraintEnd_toEndOf="@+id/toolbar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/toolbar" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginTop="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:layout_marginBottom="1dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/toolbar">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fragment_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<!--<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next" />-->
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,61 @@
|
|||
<?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:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activities.SplashActivity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="180dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/search" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:scaleType="center"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/wave_4_" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_version"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:gravity="end"
|
||||
android:padding="5dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_16sdp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Quality Control"
|
||||
android:padding="5dp"
|
||||
android:textColor="@color/theme_color"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/_30sdp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/imageView"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,44 @@
|
|||
<?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:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activities.SummaryActivity">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/theme_color"
|
||||
android:minHeight="?attr/actionBarSize"
|
||||
android:theme="?attr/actionBarTheme"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Summary"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_15sdp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/toolbar"
|
||||
app:layout_constraintEnd_toEndOf="@+id/toolbar"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/toolbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/toolbar"
|
||||
app:layout_constraintStart_toStartOf="@+id/toolbar"
|
||||
app:layout_constraintTop_toTopOf="@+id/toolbar"
|
||||
app:srcCompat="@drawable/arrow_back" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,85 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
android:layout_gravity="center">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginRight="25dp"
|
||||
android:layout_marginLeft="25dp"
|
||||
android:background="@drawable/curved_layout"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="5dp"
|
||||
android:text="Choose Options"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@color/grey_400" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_camera"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="5dp"
|
||||
android:text="Take Photo"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textColor="@color/theme_color"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@color/grey_400" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_gallery"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="5dp"
|
||||
android:text="Photo Library"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textColor="@color/theme_color"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="@color/grey_400" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_cancel"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:padding="5dp"
|
||||
android:text="Cancel"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textColor="@color/theme_color"
|
||||
android:textSize="16sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".fragments.CheckingFragment">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:scrollbarFadeDuration="0"
|
||||
android:fadeScrollbars="false"
|
||||
android:layout_marginBottom="60dp"
|
||||
android:background="@drawable/rounded_border"
|
||||
android:scrollbarThumbVertical="@android:color/darker_gray"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Checking Process"
|
||||
android:textSize="@dimen/_20sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_checking"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.3"
|
||||
android:text="Percentage: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_percentage"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/et_border"
|
||||
android:padding="5dp"
|
||||
android:layout_weight="0.7"
|
||||
android:enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remarks: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remarks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:maxLines="3"
|
||||
android:minLines="3" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtHeading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="Pictures: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/image_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/txtHeading"
|
||||
android:contentDescription="select"
|
||||
android:src="@drawable/image_picker"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/delete_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/image_picker"
|
||||
android:contentDescription="delete"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/imageRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".fragments.CuttingFragment">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:scrollbarFadeDuration="0"
|
||||
android:fadeScrollbars="false"
|
||||
android:layout_marginBottom="60dp"
|
||||
android:background="@drawable/rounded_border"
|
||||
android:scrollbarThumbVertical="@android:color/darker_gray"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cutting Process"
|
||||
android:textSize="@dimen/_20sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_cutting"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.3"
|
||||
android:text="Percentage: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_percentage"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7"
|
||||
android:padding="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remarks: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remarks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
android:padding="5dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:maxLines="3"
|
||||
android:minLines="3" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtHeading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="Pictures: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/image_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/txtHeading"
|
||||
android:contentDescription="select"
|
||||
android:src="@drawable/image_picker"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/delete_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/image_picker"
|
||||
android:contentDescription="delete"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/imageRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next"/>
|
||||
</FrameLayout>
|
|
@ -0,0 +1,118 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout 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=".fragments.HomeFragment">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_current_date"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="@dimen/_16sdp"
|
||||
android:layout_margin="5dp"
|
||||
android:padding="5dp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:padding="5dp"
|
||||
android:text="Location: "
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:hint="@string/select_location"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/txt_driver_name">
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/location_textview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="none"
|
||||
android:textSize="16sp" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:padding="5dp"
|
||||
android:text="Department: "
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:hint="@string/select_department"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/txt_driver_name">
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/department_textview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="none"
|
||||
android:textSize="16sp" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:padding="5dp"
|
||||
android:text="Floor: "
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_16sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp"
|
||||
android:hint="@string/select_floor"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/txt_driver_name">
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/floor_textview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="none"
|
||||
android:textSize="16sp" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next"/>
|
||||
</FrameLayout>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".fragments.PackingFragment">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:scrollbarFadeDuration="0"
|
||||
android:fadeScrollbars="false"
|
||||
android:layout_marginBottom="60dp"
|
||||
android:background="@drawable/rounded_border"
|
||||
android:scrollbarThumbVertical="@android:color/darker_gray"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Packing Process"
|
||||
android:textSize="@dimen/_20sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_packing"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.3"
|
||||
android:text="Percentage: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_percentage"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/et_border"
|
||||
android:padding="5dp"
|
||||
android:layout_weight="0.7"
|
||||
android:enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remarks: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remarks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:maxLines="3"
|
||||
android:minLines="3" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtHeading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="Pictures: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/image_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/txtHeading"
|
||||
android:contentDescription="select"
|
||||
android:src="@drawable/image_picker"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/delete_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/image_picker"
|
||||
android:contentDescription="delete"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/imageRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".fragments.StitchingFragment">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:scrollbarFadeDuration="0"
|
||||
android:fadeScrollbars="false"
|
||||
android:layout_marginBottom="60dp"
|
||||
android:background="@drawable/rounded_border"
|
||||
android:scrollbarThumbVertical="@android:color/darker_gray"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Stitching Process"
|
||||
android:textSize="@dimen/_20sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_stitching"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.3"
|
||||
android:text="Percentage: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_percentage"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7"
|
||||
android:background="@drawable/et_border"
|
||||
android:padding="5dp"
|
||||
android:enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remarks: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remarks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:maxLines="3"
|
||||
android:minLines="3" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtHeading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="Pictures: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/image_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/txtHeading"
|
||||
android:contentDescription="select"
|
||||
android:src="@drawable/image_picker"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/delete_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/image_picker"
|
||||
android:contentDescription="delete"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/imageRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Next"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".fragments.SubStoreFragment">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scrollbars="vertical"
|
||||
android:scrollbarFadeDuration="0"
|
||||
android:fadeScrollbars="false"
|
||||
android:layout_marginBottom="60dp"
|
||||
android:background="@drawable/rounded_border"
|
||||
android:scrollbarThumbVertical="@android:color/darker_gray"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="5dp"
|
||||
android:orientation="vertical"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Substore Process"
|
||||
android:textSize="@dimen/_20sdp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view_substore"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="5dp" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1">
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.3"
|
||||
android:text="Percentage: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_percentage"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7"
|
||||
android:background="@drawable/et_border"
|
||||
android:padding="5dp"
|
||||
android:enabled="false" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remarks: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_remarks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:enabled="false"
|
||||
android:layout_marginTop="5dp"
|
||||
android:background="@drawable/et_border"
|
||||
android:maxLines="3"
|
||||
android:minLines="3" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtHeading"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:text="Pictures: "
|
||||
android:textSize="@dimen/_14sdp" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/image_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/txtHeading"
|
||||
android:contentDescription="select"
|
||||
android:src="@drawable/image_picker"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
<ImageButton
|
||||
android:id="@+id/delete_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_toEndOf="@+id/image_picker"
|
||||
android:contentDescription="delete"
|
||||
android:src="@drawable/ic_delete"
|
||||
android:background="@null"
|
||||
android:padding="8dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/imageRecyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="150dp"
|
||||
android:orientation="horizontal"
|
||||
android:layout_margin="5dp"/>
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_next"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:text="Finish"/>
|
||||
|
||||
</FrameLayout>
|
|
@ -0,0 +1,13 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="8dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:scaleType="centerCrop" />
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="1"
|
||||
android:padding="8dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_item_name"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7"
|
||||
android:text="Item Name"
|
||||
android:textSize="@dimen/_14sdp"
|
||||
android:padding="8dp" />
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/spinner_item_options"
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="0.3"
|
||||
android:padding="8dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:spinnerMode="dropdown" />
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="?android:attr/spinnerItemStyle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="marquee"
|
||||
android:padding="5dp"
|
||||
android:singleLine="true"
|
||||
android:textAlignment="inherit"
|
||||
android:textColor="#000000"
|
||||
android:textSize="@dimen/_12sdp" />
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 982 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 7.6 KiB |
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="dimension">values-hdpi</string>
|
||||
</resources>
|
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="_1sdp">1.00dp</dimen>
|
||||
<dimen name="_2sdp">2.00dp</dimen>
|
||||
<dimen name="_3sdp">3.00dp</dimen>
|
||||
<dimen name="_4sdp">4.00dp</dimen>
|
||||
<dimen name="_5sdp">5.00dp</dimen>
|
||||
<dimen name="_6sdp">6.00dp</dimen>
|
||||
<dimen name="_7sdp">7.00dp</dimen>
|
||||
<dimen name="_8sdp">8.00dp</dimen>
|
||||
<dimen name="_9sdp">9.00dp</dimen>
|
||||
<dimen name="_10sdp">10.00dp</dimen>
|
||||
<dimen name="_11sdp">11.00dp</dimen>
|
||||
<dimen name="_12sdp">12.00dp</dimen>
|
||||
<dimen name="_13sdp">13.00dp</dimen>
|
||||
<dimen name="_14sdp">14.00dp</dimen>
|
||||
<dimen name="_15sdp">15.00dp</dimen>
|
||||
<dimen name="_16sdp">16.00dp</dimen>
|
||||
<dimen name="_17sdp">17.00dp</dimen>
|
||||
<dimen name="_18sdp">18.00dp</dimen>
|
||||
<dimen name="_19sdp">19.00dp</dimen>
|
||||
<dimen name="_20sdp">20.00dp</dimen>
|
||||
<dimen name="_21sdp">21.00dp</dimen>
|
||||
<dimen name="_22sdp">22.00dp</dimen>
|
||||
<dimen name="_23sdp">23.00dp</dimen>
|
||||
<dimen name="_24sdp">24.00dp</dimen>
|
||||
<dimen name="_25sdp">25.00dp</dimen>
|
||||
<dimen name="_26sdp">26.00dp</dimen>
|
||||
<dimen name="_27sdp">27.00dp</dimen>
|
||||
<dimen name="_28sdp">28.00dp</dimen>
|
||||
<dimen name="_29sdp">29.00dp</dimen>
|
||||
<dimen name="_30sdp">30.00dp</dimen>
|
||||
<dimen name="_31sdp">31.00dp</dimen>
|
||||
<dimen name="_32sdp">32.00dp</dimen>
|
||||
<dimen name="_33sdp">33.00dp</dimen>
|
||||
<dimen name="_34sdp">34.00dp</dimen>
|
||||
<dimen name="_35sdp">35.00dp</dimen>
|
||||
<dimen name="_36sdp">36.00dp</dimen>
|
||||
<dimen name="_37sdp">37.00dp</dimen>
|
||||
<dimen name="_38sdp">38.00dp</dimen>
|
||||
<dimen name="_39sdp">39.00dp</dimen>
|
||||
<dimen name="_40sdp">40.00dp</dimen>
|
||||
<dimen name="_41sdp">41.00dp</dimen>
|
||||
<dimen name="_42sdp">42.00dp</dimen>
|
||||
<dimen name="_43sdp">43.00dp</dimen>
|
||||
<dimen name="_44sdp">44.00dp</dimen>
|
||||
<dimen name="_45sdp">45.00dp</dimen>
|
||||
<dimen name="_46sdp">46.00dp</dimen>
|
||||
<dimen name="_47sdp">47.00dp</dimen>
|
||||
<dimen name="_48sdp">48.00dp</dimen>
|
||||
<dimen name="_49sdp">49.00dp</dimen>
|
||||
<dimen name="_50sdp">50.00dp</dimen>
|
||||
<dimen name="_51sdp">51.00dp</dimen>
|
||||
<dimen name="_52sdp">52.00dp</dimen>
|
||||
<dimen name="_53sdp">53.00dp</dimen>
|
||||
<dimen name="_54sdp">54.00dp</dimen>
|
||||
<dimen name="_55sdp">55.00dp</dimen>
|
||||
<dimen name="_56sdp">56.00dp</dimen>
|
||||
<dimen name="_57sdp">57.00dp</dimen>
|
||||
<dimen name="_58sdp">58.00dp</dimen>
|
||||
<dimen name="_59sdp">59.00dp</dimen>
|
||||
<dimen name="_60sdp">60.00dp</dimen>
|
||||
<dimen name="_61sdp">61.00dp</dimen>
|
||||
<dimen name="_62sdp">62.00dp</dimen>
|
||||
<dimen name="_63sdp">63.00dp</dimen>
|
||||
<dimen name="_64sdp">64.00dp</dimen>
|
||||
<dimen name="_65sdp">65.00dp</dimen>
|
||||
<dimen name="_66sdp">66.00dp</dimen>
|
||||
<dimen name="_67sdp">67.00dp</dimen>
|
||||
<dimen name="_68sdp">68.00dp</dimen>
|
||||
<dimen name="_69sdp">69.00dp</dimen>
|
||||
<dimen name="_70sdp">70.00dp</dimen>
|
||||
<dimen name="_71sdp">71.00dp</dimen>
|
||||
<dimen name="_72sdp">72.00dp</dimen>
|
||||
<dimen name="_73sdp">73.00dp</dimen>
|
||||
<dimen name="_74sdp">74.00dp</dimen>
|
||||
<dimen name="_75sdp">75.00dp</dimen>
|
||||
<dimen name="_76sdp">76.00dp</dimen>
|
||||
<dimen name="_77sdp">77.00dp</dimen>
|
||||
<dimen name="_78sdp">78.00dp</dimen>
|
||||
<dimen name="_79sdp">79.00dp</dimen>
|
||||
<dimen name="_80sdp">80.00dp</dimen>
|
||||
<dimen name="_81sdp">81.00dp</dimen>
|
||||
<dimen name="_82sdp">82.00dp</dimen>
|
||||
<dimen name="_83sdp">83.00dp</dimen>
|
||||
<dimen name="_84sdp">84.00dp</dimen>
|
||||
<dimen name="_85sdp">85.00dp</dimen>
|
||||
<dimen name="_86sdp">86.00dp</dimen>
|
||||
<dimen name="_87sdp">87.00dp</dimen>
|
||||
<dimen name="_88sdp">88.00dp</dimen>
|
||||
<dimen name="_89sdp">89.00dp</dimen>
|
||||
<dimen name="_90sdp">90.00dp</dimen>
|
||||
<dimen name="_91sdp">91.00dp</dimen>
|
||||
<dimen name="_92sdp">92.00dp</dimen>
|
||||
<dimen name="_93sdp">93.00dp</dimen>
|
||||
<dimen name="_94sdp">94.00dp</dimen>
|
||||
<dimen name="_95sdp">95.00dp</dimen>
|
||||
<dimen name="_96sdp">96.00dp</dimen>
|
||||
<dimen name="_97sdp">97.00dp</dimen>
|
||||
<dimen name="_98sdp">98.00dp</dimen>
|
||||
<dimen name="_99sdp">99.00dp</dimen>
|
||||
<dimen name="_100sdp">100.00dp</dimen>
|
||||
<dimen name="_101sdp">101.00dp</dimen>
|
||||
<dimen name="_102sdp">102.00dp</dimen>
|
||||
<dimen name="_103sdp">103.00dp</dimen>
|
||||
<dimen name="_104sdp">104.00dp</dimen>
|
||||
<dimen name="_105sdp">105.00dp</dimen>
|
||||
<dimen name="_106sdp">106.00dp</dimen>
|
||||
<dimen name="_107sdp">107.00dp</dimen>
|
||||
<dimen name="_108sdp">108.00dp</dimen>
|
||||
<dimen name="_109sdp">109.00dp</dimen>
|
||||
<dimen name="_110sdp">110.00dp</dimen>
|
||||
<dimen name="_111sdp">111.00dp</dimen>
|
||||
<dimen name="_112sdp">112.00dp</dimen>
|
||||
<dimen name="_113sdp">113.00dp</dimen>
|
||||
<dimen name="_114sdp">114.00dp</dimen>
|
||||
<dimen name="_115sdp">115.00dp</dimen>
|
||||
<dimen name="_116sdp">116.00dp</dimen>
|
||||
<dimen name="_117sdp">117.00dp</dimen>
|
||||
<dimen name="_118sdp">118.00dp</dimen>
|
||||
<dimen name="_119sdp">119.00dp</dimen>
|
||||
<dimen name="_120sdp">120.00dp</dimen>
|
||||
<dimen name="_121sdp">121.00dp</dimen>
|
||||
<dimen name="_122sdp">122.00dp</dimen>
|
||||
<dimen name="_123sdp">123.00dp</dimen>
|
||||
<dimen name="_124sdp">124.00dp</dimen>
|
||||
<dimen name="_125sdp">125.00dp</dimen>
|
||||
<dimen name="_126sdp">126.00dp</dimen>
|
||||
<dimen name="_127sdp">127.00dp</dimen>
|
||||
<dimen name="_128sdp">128.00dp</dimen>
|
||||
<dimen name="_129sdp">129.00dp</dimen>
|
||||
<dimen name="_130sdp">130.00dp</dimen>
|
||||
<dimen name="_131sdp">131.00dp</dimen>
|
||||
<dimen name="_132sdp">132.00dp</dimen>
|
||||
<dimen name="_133sdp">133.00dp</dimen>
|
||||
<dimen name="_134sdp">134.00dp</dimen>
|
||||
<dimen name="_135sdp">135.00dp</dimen>
|
||||
<dimen name="_136sdp">136.00dp</dimen>
|
||||
<dimen name="_137sdp">137.00dp</dimen>
|
||||
<dimen name="_138sdp">138.00dp</dimen>
|
||||
<dimen name="_139sdp">139.00dp</dimen>
|
||||
<dimen name="_140sdp">140.00dp</dimen>
|
||||
<dimen name="_141sdp">141.00dp</dimen>
|
||||
<dimen name="_142sdp">142.00dp</dimen>
|
||||
<dimen name="_143sdp">143.00dp</dimen>
|
||||
<dimen name="_144sdp">144.00dp</dimen>
|
||||
<dimen name="_145sdp">145.00dp</dimen>
|
||||
<dimen name="_146sdp">146.00dp</dimen>
|
||||
<dimen name="_147sdp">147.00dp</dimen>
|
||||
<dimen name="_148sdp">148.00dp</dimen>
|
||||
<dimen name="_149sdp">149.00dp</dimen>
|
||||
<dimen name="_150sdp">150.00dp</dimen>
|
||||
<dimen name="_151sdp">151.00dp</dimen>
|
||||
<dimen name="_152sdp">152.00dp</dimen>
|
||||
<dimen name="_153sdp">153.00dp</dimen>
|
||||
<dimen name="_154sdp">154.00dp</dimen>
|
||||
<dimen name="_155sdp">155.00dp</dimen>
|
||||
<dimen name="_156sdp">156.00dp</dimen>
|
||||
<dimen name="_157sdp">157.00dp</dimen>
|
||||
<dimen name="_158sdp">158.00dp</dimen>
|
||||
<dimen name="_159sdp">159.00dp</dimen>
|
||||
<dimen name="_160sdp">160.00dp</dimen>
|
||||
<dimen name="_161sdp">161.00dp</dimen>
|
||||
<dimen name="_162sdp">162.00dp</dimen>
|
||||
<dimen name="_163sdp">163.00dp</dimen>
|
||||
<dimen name="_164sdp">164.00dp</dimen>
|
||||
<dimen name="_165sdp">165.00dp</dimen>
|
||||
<dimen name="_166sdp">166.00dp</dimen>
|
||||
<dimen name="_167sdp">167.00dp</dimen>
|
||||
<dimen name="_168sdp">168.00dp</dimen>
|
||||
<dimen name="_169sdp">169.00dp</dimen>
|
||||
<dimen name="_170sdp">170.00dp</dimen>
|
||||
<dimen name="_171sdp">171.00dp</dimen>
|
||||
<dimen name="_172sdp">172.00dp</dimen>
|
||||
<dimen name="_173sdp">173.00dp</dimen>
|
||||
<dimen name="_174sdp">174.00dp</dimen>
|
||||
<dimen name="_175sdp">175.00dp</dimen>
|
||||
<dimen name="_176sdp">176.00dp</dimen>
|
||||
<dimen name="_177sdp">177.00dp</dimen>
|
||||
<dimen name="_178sdp">178.00dp</dimen>
|
||||
<dimen name="_179sdp">179.00dp</dimen>
|
||||
<dimen name="_180sdp">180.00dp</dimen>
|
||||
<dimen name="_181sdp">181.00dp</dimen>
|
||||
<dimen name="_182sdp">182.00dp</dimen>
|
||||
<dimen name="_183sdp">183.00dp</dimen>
|
||||
<dimen name="_184sdp">184.00dp</dimen>
|
||||
<dimen name="_185sdp">185.00dp</dimen>
|
||||
<dimen name="_186sdp">186.00dp</dimen>
|
||||
<dimen name="_187sdp">187.00dp</dimen>
|
||||
<dimen name="_188sdp">188.00dp</dimen>
|
||||
<dimen name="_189sdp">189.00dp</dimen>
|
||||
<dimen name="_190sdp">190.00dp</dimen>
|
||||
<dimen name="_191sdp">191.00dp</dimen>
|
||||
<dimen name="_192sdp">192.00dp</dimen>
|
||||
<dimen name="_193sdp">193.00dp</dimen>
|
||||
<dimen name="_194sdp">194.00dp</dimen>
|
||||
<dimen name="_195sdp">195.00dp</dimen>
|
||||
<dimen name="_196sdp">196.00dp</dimen>
|
||||
<dimen name="_197sdp">197.00dp</dimen>
|
||||
<dimen name="_198sdp">198.00dp</dimen>
|
||||
<dimen name="_199sdp">199.00dp</dimen>
|
||||
<dimen name="_200sdp">200.00dp</dimen>
|
||||
<dimen name="_201sdp">201.00dp</dimen>
|
||||
<dimen name="_202sdp">202.00dp</dimen>
|
||||
<dimen name="_203sdp">203.00dp</dimen>
|
||||
<dimen name="_204sdp">204.00dp</dimen>
|
||||
<dimen name="_205sdp">205.00dp</dimen>
|
||||
<dimen name="_206sdp">206.00dp</dimen>
|
||||
<dimen name="_207sdp">207.00dp</dimen>
|
||||
<dimen name="_208sdp">208.00dp</dimen>
|
||||
<dimen name="_209sdp">209.00dp</dimen>
|
||||
<dimen name="_210sdp">210.00dp</dimen>
|
||||
<dimen name="_211sdp">211.00dp</dimen>
|
||||
<dimen name="_212sdp">212.00dp</dimen>
|
||||
<dimen name="_213sdp">213.00dp</dimen>
|
||||
<dimen name="_214sdp">214.00dp</dimen>
|
||||
<dimen name="_215sdp">215.00dp</dimen>
|
||||
<dimen name="_216sdp">216.00dp</dimen>
|
||||
<dimen name="_217sdp">217.00dp</dimen>
|
||||
<dimen name="_218sdp">218.00dp</dimen>
|
||||
<dimen name="_219sdp">219.00dp</dimen>
|
||||
<dimen name="_220sdp">220.00dp</dimen>
|
||||
<dimen name="_221sdp">221.00dp</dimen>
|
||||
<dimen name="_222sdp">222.00dp</dimen>
|
||||
<dimen name="_223sdp">223.00dp</dimen>
|
||||
<dimen name="_224sdp">224.00dp</dimen>
|
||||
<dimen name="_225sdp">225.00dp</dimen>
|
||||
<dimen name="_226sdp">226.00dp</dimen>
|
||||
<dimen name="_227sdp">227.00dp</dimen>
|
||||
<dimen name="_228sdp">228.00dp</dimen>
|
||||
<dimen name="_229sdp">229.00dp</dimen>
|
||||
<dimen name="_230sdp">230.00dp</dimen>
|
||||
<dimen name="_231sdp">231.00dp</dimen>
|
||||
<dimen name="_232sdp">232.00dp</dimen>
|
||||
<dimen name="_233sdp">233.00dp</dimen>
|
||||
<dimen name="_234sdp">234.00dp</dimen>
|
||||
<dimen name="_235sdp">235.00dp</dimen>
|
||||
<dimen name="_236sdp">236.00dp</dimen>
|
||||
<dimen name="_237sdp">237.00dp</dimen>
|
||||
<dimen name="_238sdp">238.00dp</dimen>
|
||||
<dimen name="_239sdp">239.00dp</dimen>
|
||||
<dimen name="_240sdp">240.00dp</dimen>
|
||||
<dimen name="_241sdp">241.00dp</dimen>
|
||||
<dimen name="_242sdp">242.00dp</dimen>
|
||||
<dimen name="_243sdp">243.00dp</dimen>
|
||||
<dimen name="_244sdp">244.00dp</dimen>
|
||||
<dimen name="_245sdp">245.00dp</dimen>
|
||||
<dimen name="_246sdp">246.00dp</dimen>
|
||||
<dimen name="_247sdp">247.00dp</dimen>
|
||||
<dimen name="_248sdp">248.00dp</dimen>
|
||||
<dimen name="_249sdp">249.00dp</dimen>
|
||||
<dimen name="_250sdp">250.00dp</dimen>
|
||||
<dimen name="_251sdp">251.00dp</dimen>
|
||||
<dimen name="_252sdp">252.00dp</dimen>
|
||||
<dimen name="_253sdp">253.00dp</dimen>
|
||||
<dimen name="_254sdp">254.00dp</dimen>
|
||||
<dimen name="_255sdp">255.00dp</dimen>
|
||||
<dimen name="_256sdp">256.00dp</dimen>
|
||||
<dimen name="_257sdp">257.00dp</dimen>
|
||||
<dimen name="_258sdp">258.00dp</dimen>
|
||||
<dimen name="_259sdp">259.00dp</dimen>
|
||||
<dimen name="_260sdp">260.00dp</dimen>
|
||||
<dimen name="_261sdp">261.00dp</dimen>
|
||||
<dimen name="_262sdp">262.00dp</dimen>
|
||||
<dimen name="_263sdp">263.00dp</dimen>
|
||||
<dimen name="_264sdp">264.00dp</dimen>
|
||||
<dimen name="_265sdp">265.00dp</dimen>
|
||||
<dimen name="_266sdp">266.00dp</dimen>
|
||||
<dimen name="_267sdp">267.00dp</dimen>
|
||||
<dimen name="_268sdp">268.00dp</dimen>
|
||||
<dimen name="_269sdp">269.00dp</dimen>
|
||||
<dimen name="_270sdp">270.00dp</dimen>
|
||||
<dimen name="_271sdp">271.00dp</dimen>
|
||||
<dimen name="_272sdp">272.00dp</dimen>
|
||||
<dimen name="_273sdp">273.00dp</dimen>
|
||||
<dimen name="_274sdp">274.00dp</dimen>
|
||||
<dimen name="_275sdp">275.00dp</dimen>
|
||||
<dimen name="_276sdp">276.00dp</dimen>
|
||||
<dimen name="_277sdp">277.00dp</dimen>
|
||||
<dimen name="_278sdp">278.00dp</dimen>
|
||||
<dimen name="_279sdp">279.00dp</dimen>
|
||||
<dimen name="_280sdp">280.00dp</dimen>
|
||||
<dimen name="_281sdp">281.00dp</dimen>
|
||||
<dimen name="_282sdp">282.00dp</dimen>
|
||||
<dimen name="_283sdp">283.00dp</dimen>
|
||||
<dimen name="_284sdp">284.00dp</dimen>
|
||||
<dimen name="_285sdp">285.00dp</dimen>
|
||||
<dimen name="_286sdp">286.00dp</dimen>
|
||||
<dimen name="_287sdp">287.00dp</dimen>
|
||||
<dimen name="_288sdp">288.00dp</dimen>
|
||||
<dimen name="_289sdp">289.00dp</dimen>
|
||||
<dimen name="_290sdp">290.00dp</dimen>
|
||||
<dimen name="_291sdp">291.00dp</dimen>
|
||||
<dimen name="_292sdp">292.00dp</dimen>
|
||||
<dimen name="_293sdp">293.00dp</dimen>
|
||||
<dimen name="_294sdp">294.00dp</dimen>
|
||||
<dimen name="_295sdp">295.00dp</dimen>
|
||||
<dimen name="_296sdp">296.00dp</dimen>
|
||||
<dimen name="_297sdp">297.00dp</dimen>
|
||||
<dimen name="_298sdp">298.00dp</dimen>
|
||||
<dimen name="_299sdp">299.00dp</dimen>
|
||||
<dimen name="_300sdp">300.00dp</dimen>
|
||||
</resources>
|
|
@ -0,0 +1,3 @@
|
|||
<resources>
|
||||
<dimen name="fab_margin">48dp</dimen>
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="dimension">values-mdpi</string>
|
||||
</resources>
|
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="_1sdp">1.00dp</dimen>
|
||||
<dimen name="_2sdp">2.00dp</dimen>
|
||||
<dimen name="_3sdp">3.00dp</dimen>
|
||||
<dimen name="_4sdp">4.00dp</dimen>
|
||||
<dimen name="_5sdp">5.00dp</dimen>
|
||||
<dimen name="_6sdp">6.00dp</dimen>
|
||||
<dimen name="_7sdp">7.00dp</dimen>
|
||||
<dimen name="_8sdp">8.00dp</dimen>
|
||||
<dimen name="_9sdp">9.00dp</dimen>
|
||||
<dimen name="_10sdp">10.00dp</dimen>
|
||||
<dimen name="_11sdp">11.00dp</dimen>
|
||||
<dimen name="_12sdp">12.00dp</dimen>
|
||||
<dimen name="_13sdp">13.00dp</dimen>
|
||||
<dimen name="_14sdp">14.00dp</dimen>
|
||||
<dimen name="_15sdp">15.00dp</dimen>
|
||||
<dimen name="_16sdp">16.00dp</dimen>
|
||||
<dimen name="_17sdp">17.00dp</dimen>
|
||||
<dimen name="_18sdp">18.00dp</dimen>
|
||||
<dimen name="_19sdp">19.00dp</dimen>
|
||||
<dimen name="_20sdp">20.00dp</dimen>
|
||||
<dimen name="_21sdp">21.00dp</dimen>
|
||||
<dimen name="_22sdp">22.00dp</dimen>
|
||||
<dimen name="_23sdp">23.00dp</dimen>
|
||||
<dimen name="_24sdp">24.00dp</dimen>
|
||||
<dimen name="_25sdp">25.00dp</dimen>
|
||||
<dimen name="_26sdp">26.00dp</dimen>
|
||||
<dimen name="_27sdp">27.00dp</dimen>
|
||||
<dimen name="_28sdp">28.00dp</dimen>
|
||||
<dimen name="_29sdp">29.00dp</dimen>
|
||||
<dimen name="_30sdp">30.00dp</dimen>
|
||||
<dimen name="_31sdp">31.00dp</dimen>
|
||||
<dimen name="_32sdp">32.00dp</dimen>
|
||||
<dimen name="_33sdp">33.00dp</dimen>
|
||||
<dimen name="_34sdp">34.00dp</dimen>
|
||||
<dimen name="_35sdp">35.00dp</dimen>
|
||||
<dimen name="_36sdp">36.00dp</dimen>
|
||||
<dimen name="_37sdp">37.00dp</dimen>
|
||||
<dimen name="_38sdp">38.00dp</dimen>
|
||||
<dimen name="_39sdp">39.00dp</dimen>
|
||||
<dimen name="_40sdp">40.00dp</dimen>
|
||||
<dimen name="_41sdp">41.00dp</dimen>
|
||||
<dimen name="_42sdp">42.00dp</dimen>
|
||||
<dimen name="_43sdp">43.00dp</dimen>
|
||||
<dimen name="_44sdp">44.00dp</dimen>
|
||||
<dimen name="_45sdp">45.00dp</dimen>
|
||||
<dimen name="_46sdp">46.00dp</dimen>
|
||||
<dimen name="_47sdp">47.00dp</dimen>
|
||||
<dimen name="_48sdp">48.00dp</dimen>
|
||||
<dimen name="_49sdp">49.00dp</dimen>
|
||||
<dimen name="_50sdp">50.00dp</dimen>
|
||||
<dimen name="_51sdp">51.00dp</dimen>
|
||||
<dimen name="_52sdp">52.00dp</dimen>
|
||||
<dimen name="_53sdp">53.00dp</dimen>
|
||||
<dimen name="_54sdp">54.00dp</dimen>
|
||||
<dimen name="_55sdp">55.00dp</dimen>
|
||||
<dimen name="_56sdp">56.00dp</dimen>
|
||||
<dimen name="_57sdp">57.00dp</dimen>
|
||||
<dimen name="_58sdp">58.00dp</dimen>
|
||||
<dimen name="_59sdp">59.00dp</dimen>
|
||||
<dimen name="_60sdp">60.00dp</dimen>
|
||||
<dimen name="_61sdp">61.00dp</dimen>
|
||||
<dimen name="_62sdp">62.00dp</dimen>
|
||||
<dimen name="_63sdp">63.00dp</dimen>
|
||||
<dimen name="_64sdp">64.00dp</dimen>
|
||||
<dimen name="_65sdp">65.00dp</dimen>
|
||||
<dimen name="_66sdp">66.00dp</dimen>
|
||||
<dimen name="_67sdp">67.00dp</dimen>
|
||||
<dimen name="_68sdp">68.00dp</dimen>
|
||||
<dimen name="_69sdp">69.00dp</dimen>
|
||||
<dimen name="_70sdp">70.00dp</dimen>
|
||||
<dimen name="_71sdp">71.00dp</dimen>
|
||||
<dimen name="_72sdp">72.00dp</dimen>
|
||||
<dimen name="_73sdp">73.00dp</dimen>
|
||||
<dimen name="_74sdp">74.00dp</dimen>
|
||||
<dimen name="_75sdp">75.00dp</dimen>
|
||||
<dimen name="_76sdp">76.00dp</dimen>
|
||||
<dimen name="_77sdp">77.00dp</dimen>
|
||||
<dimen name="_78sdp">78.00dp</dimen>
|
||||
<dimen name="_79sdp">79.00dp</dimen>
|
||||
<dimen name="_80sdp">80.00dp</dimen>
|
||||
<dimen name="_81sdp">81.00dp</dimen>
|
||||
<dimen name="_82sdp">82.00dp</dimen>
|
||||
<dimen name="_83sdp">83.00dp</dimen>
|
||||
<dimen name="_84sdp">84.00dp</dimen>
|
||||
<dimen name="_85sdp">85.00dp</dimen>
|
||||
<dimen name="_86sdp">86.00dp</dimen>
|
||||
<dimen name="_87sdp">87.00dp</dimen>
|
||||
<dimen name="_88sdp">88.00dp</dimen>
|
||||
<dimen name="_89sdp">89.00dp</dimen>
|
||||
<dimen name="_90sdp">90.00dp</dimen>
|
||||
<dimen name="_91sdp">91.00dp</dimen>
|
||||
<dimen name="_92sdp">92.00dp</dimen>
|
||||
<dimen name="_93sdp">93.00dp</dimen>
|
||||
<dimen name="_94sdp">94.00dp</dimen>
|
||||
<dimen name="_95sdp">95.00dp</dimen>
|
||||
<dimen name="_96sdp">96.00dp</dimen>
|
||||
<dimen name="_97sdp">97.00dp</dimen>
|
||||
<dimen name="_98sdp">98.00dp</dimen>
|
||||
<dimen name="_99sdp">99.00dp</dimen>
|
||||
<dimen name="_100sdp">100.00dp</dimen>
|
||||
<dimen name="_101sdp">101.00dp</dimen>
|
||||
<dimen name="_102sdp">102.00dp</dimen>
|
||||
<dimen name="_103sdp">103.00dp</dimen>
|
||||
<dimen name="_104sdp">104.00dp</dimen>
|
||||
<dimen name="_105sdp">105.00dp</dimen>
|
||||
<dimen name="_106sdp">106.00dp</dimen>
|
||||
<dimen name="_107sdp">107.00dp</dimen>
|
||||
<dimen name="_108sdp">108.00dp</dimen>
|
||||
<dimen name="_109sdp">109.00dp</dimen>
|
||||
<dimen name="_110sdp">110.00dp</dimen>
|
||||
<dimen name="_111sdp">111.00dp</dimen>
|
||||
<dimen name="_112sdp">112.00dp</dimen>
|
||||
<dimen name="_113sdp">113.00dp</dimen>
|
||||
<dimen name="_114sdp">114.00dp</dimen>
|
||||
<dimen name="_115sdp">115.00dp</dimen>
|
||||
<dimen name="_116sdp">116.00dp</dimen>
|
||||
<dimen name="_117sdp">117.00dp</dimen>
|
||||
<dimen name="_118sdp">118.00dp</dimen>
|
||||
<dimen name="_119sdp">119.00dp</dimen>
|
||||
<dimen name="_120sdp">120.00dp</dimen>
|
||||
<dimen name="_121sdp">121.00dp</dimen>
|
||||
<dimen name="_122sdp">122.00dp</dimen>
|
||||
<dimen name="_123sdp">123.00dp</dimen>
|
||||
<dimen name="_124sdp">124.00dp</dimen>
|
||||
<dimen name="_125sdp">125.00dp</dimen>
|
||||
<dimen name="_126sdp">126.00dp</dimen>
|
||||
<dimen name="_127sdp">127.00dp</dimen>
|
||||
<dimen name="_128sdp">128.00dp</dimen>
|
||||
<dimen name="_129sdp">129.00dp</dimen>
|
||||
<dimen name="_130sdp">130.00dp</dimen>
|
||||
<dimen name="_131sdp">131.00dp</dimen>
|
||||
<dimen name="_132sdp">132.00dp</dimen>
|
||||
<dimen name="_133sdp">133.00dp</dimen>
|
||||
<dimen name="_134sdp">134.00dp</dimen>
|
||||
<dimen name="_135sdp">135.00dp</dimen>
|
||||
<dimen name="_136sdp">136.00dp</dimen>
|
||||
<dimen name="_137sdp">137.00dp</dimen>
|
||||
<dimen name="_138sdp">138.00dp</dimen>
|
||||
<dimen name="_139sdp">139.00dp</dimen>
|
||||
<dimen name="_140sdp">140.00dp</dimen>
|
||||
<dimen name="_141sdp">141.00dp</dimen>
|
||||
<dimen name="_142sdp">142.00dp</dimen>
|
||||
<dimen name="_143sdp">143.00dp</dimen>
|
||||
<dimen name="_144sdp">144.00dp</dimen>
|
||||
<dimen name="_145sdp">145.00dp</dimen>
|
||||
<dimen name="_146sdp">146.00dp</dimen>
|
||||
<dimen name="_147sdp">147.00dp</dimen>
|
||||
<dimen name="_148sdp">148.00dp</dimen>
|
||||
<dimen name="_149sdp">149.00dp</dimen>
|
||||
<dimen name="_150sdp">150.00dp</dimen>
|
||||
<dimen name="_151sdp">151.00dp</dimen>
|
||||
<dimen name="_152sdp">152.00dp</dimen>
|
||||
<dimen name="_153sdp">153.00dp</dimen>
|
||||
<dimen name="_154sdp">154.00dp</dimen>
|
||||
<dimen name="_155sdp">155.00dp</dimen>
|
||||
<dimen name="_156sdp">156.00dp</dimen>
|
||||
<dimen name="_157sdp">157.00dp</dimen>
|
||||
<dimen name="_158sdp">158.00dp</dimen>
|
||||
<dimen name="_159sdp">159.00dp</dimen>
|
||||
<dimen name="_160sdp">160.00dp</dimen>
|
||||
<dimen name="_161sdp">161.00dp</dimen>
|
||||
<dimen name="_162sdp">162.00dp</dimen>
|
||||
<dimen name="_163sdp">163.00dp</dimen>
|
||||
<dimen name="_164sdp">164.00dp</dimen>
|
||||
<dimen name="_165sdp">165.00dp</dimen>
|
||||
<dimen name="_166sdp">166.00dp</dimen>
|
||||
<dimen name="_167sdp">167.00dp</dimen>
|
||||
<dimen name="_168sdp">168.00dp</dimen>
|
||||
<dimen name="_169sdp">169.00dp</dimen>
|
||||
<dimen name="_170sdp">170.00dp</dimen>
|
||||
<dimen name="_171sdp">171.00dp</dimen>
|
||||
<dimen name="_172sdp">172.00dp</dimen>
|
||||
<dimen name="_173sdp">173.00dp</dimen>
|
||||
<dimen name="_174sdp">174.00dp</dimen>
|
||||
<dimen name="_175sdp">175.00dp</dimen>
|
||||
<dimen name="_176sdp">176.00dp</dimen>
|
||||
<dimen name="_177sdp">177.00dp</dimen>
|
||||
<dimen name="_178sdp">178.00dp</dimen>
|
||||
<dimen name="_179sdp">179.00dp</dimen>
|
||||
<dimen name="_180sdp">180.00dp</dimen>
|
||||
<dimen name="_181sdp">181.00dp</dimen>
|
||||
<dimen name="_182sdp">182.00dp</dimen>
|
||||
<dimen name="_183sdp">183.00dp</dimen>
|
||||
<dimen name="_184sdp">184.00dp</dimen>
|
||||
<dimen name="_185sdp">185.00dp</dimen>
|
||||
<dimen name="_186sdp">186.00dp</dimen>
|
||||
<dimen name="_187sdp">187.00dp</dimen>
|
||||
<dimen name="_188sdp">188.00dp</dimen>
|
||||
<dimen name="_189sdp">189.00dp</dimen>
|
||||
<dimen name="_190sdp">190.00dp</dimen>
|
||||
<dimen name="_191sdp">191.00dp</dimen>
|
||||
<dimen name="_192sdp">192.00dp</dimen>
|
||||
<dimen name="_193sdp">193.00dp</dimen>
|
||||
<dimen name="_194sdp">194.00dp</dimen>
|
||||
<dimen name="_195sdp">195.00dp</dimen>
|
||||
<dimen name="_196sdp">196.00dp</dimen>
|
||||
<dimen name="_197sdp">197.00dp</dimen>
|
||||
<dimen name="_198sdp">198.00dp</dimen>
|
||||
<dimen name="_199sdp">199.00dp</dimen>
|
||||
<dimen name="_200sdp">200.00dp</dimen>
|
||||
<dimen name="_201sdp">201.00dp</dimen>
|
||||
<dimen name="_202sdp">202.00dp</dimen>
|
||||
<dimen name="_203sdp">203.00dp</dimen>
|
||||
<dimen name="_204sdp">204.00dp</dimen>
|
||||
<dimen name="_205sdp">205.00dp</dimen>
|
||||
<dimen name="_206sdp">206.00dp</dimen>
|
||||
<dimen name="_207sdp">207.00dp</dimen>
|
||||
<dimen name="_208sdp">208.00dp</dimen>
|
||||
<dimen name="_209sdp">209.00dp</dimen>
|
||||
<dimen name="_210sdp">210.00dp</dimen>
|
||||
<dimen name="_211sdp">211.00dp</dimen>
|
||||
<dimen name="_212sdp">212.00dp</dimen>
|
||||
<dimen name="_213sdp">213.00dp</dimen>
|
||||
<dimen name="_214sdp">214.00dp</dimen>
|
||||
<dimen name="_215sdp">215.00dp</dimen>
|
||||
<dimen name="_216sdp">216.00dp</dimen>
|
||||
<dimen name="_217sdp">217.00dp</dimen>
|
||||
<dimen name="_218sdp">218.00dp</dimen>
|
||||
<dimen name="_219sdp">219.00dp</dimen>
|
||||
<dimen name="_220sdp">220.00dp</dimen>
|
||||
<dimen name="_221sdp">221.00dp</dimen>
|
||||
<dimen name="_222sdp">222.00dp</dimen>
|
||||
<dimen name="_223sdp">223.00dp</dimen>
|
||||
<dimen name="_224sdp">224.00dp</dimen>
|
||||
<dimen name="_225sdp">225.00dp</dimen>
|
||||
<dimen name="_226sdp">226.00dp</dimen>
|
||||
<dimen name="_227sdp">227.00dp</dimen>
|
||||
<dimen name="_228sdp">228.00dp</dimen>
|
||||
<dimen name="_229sdp">229.00dp</dimen>
|
||||
<dimen name="_230sdp">230.00dp</dimen>
|
||||
<dimen name="_231sdp">231.00dp</dimen>
|
||||
<dimen name="_232sdp">232.00dp</dimen>
|
||||
<dimen name="_233sdp">233.00dp</dimen>
|
||||
<dimen name="_234sdp">234.00dp</dimen>
|
||||
<dimen name="_235sdp">235.00dp</dimen>
|
||||
<dimen name="_236sdp">236.00dp</dimen>
|
||||
<dimen name="_237sdp">237.00dp</dimen>
|
||||
<dimen name="_238sdp">238.00dp</dimen>
|
||||
<dimen name="_239sdp">239.00dp</dimen>
|
||||
<dimen name="_240sdp">240.00dp</dimen>
|
||||
<dimen name="_241sdp">241.00dp</dimen>
|
||||
<dimen name="_242sdp">242.00dp</dimen>
|
||||
<dimen name="_243sdp">243.00dp</dimen>
|
||||
<dimen name="_244sdp">244.00dp</dimen>
|
||||
<dimen name="_245sdp">245.00dp</dimen>
|
||||
<dimen name="_246sdp">246.00dp</dimen>
|
||||
<dimen name="_247sdp">247.00dp</dimen>
|
||||
<dimen name="_248sdp">248.00dp</dimen>
|
||||
<dimen name="_249sdp">249.00dp</dimen>
|
||||
<dimen name="_250sdp">250.00dp</dimen>
|
||||
<dimen name="_251sdp">251.00dp</dimen>
|
||||
<dimen name="_252sdp">252.00dp</dimen>
|
||||
<dimen name="_253sdp">253.00dp</dimen>
|
||||
<dimen name="_254sdp">254.00dp</dimen>
|
||||
<dimen name="_255sdp">255.00dp</dimen>
|
||||
<dimen name="_256sdp">256.00dp</dimen>
|
||||
<dimen name="_257sdp">257.00dp</dimen>
|
||||
<dimen name="_258sdp">258.00dp</dimen>
|
||||
<dimen name="_259sdp">259.00dp</dimen>
|
||||
<dimen name="_260sdp">260.00dp</dimen>
|
||||
<dimen name="_261sdp">261.00dp</dimen>
|
||||
<dimen name="_262sdp">262.00dp</dimen>
|
||||
<dimen name="_263sdp">263.00dp</dimen>
|
||||
<dimen name="_264sdp">264.00dp</dimen>
|
||||
<dimen name="_265sdp">265.00dp</dimen>
|
||||
<dimen name="_266sdp">266.00dp</dimen>
|
||||
<dimen name="_267sdp">267.00dp</dimen>
|
||||
<dimen name="_268sdp">268.00dp</dimen>
|
||||
<dimen name="_269sdp">269.00dp</dimen>
|
||||
<dimen name="_270sdp">270.00dp</dimen>
|
||||
<dimen name="_271sdp">271.00dp</dimen>
|
||||
<dimen name="_272sdp">272.00dp</dimen>
|
||||
<dimen name="_273sdp">273.00dp</dimen>
|
||||
<dimen name="_274sdp">274.00dp</dimen>
|
||||
<dimen name="_275sdp">275.00dp</dimen>
|
||||
<dimen name="_276sdp">276.00dp</dimen>
|
||||
<dimen name="_277sdp">277.00dp</dimen>
|
||||
<dimen name="_278sdp">278.00dp</dimen>
|
||||
<dimen name="_279sdp">279.00dp</dimen>
|
||||
<dimen name="_280sdp">280.00dp</dimen>
|
||||
<dimen name="_281sdp">281.00dp</dimen>
|
||||
<dimen name="_282sdp">282.00dp</dimen>
|
||||
<dimen name="_283sdp">283.00dp</dimen>
|
||||
<dimen name="_284sdp">284.00dp</dimen>
|
||||
<dimen name="_285sdp">285.00dp</dimen>
|
||||
<dimen name="_286sdp">286.00dp</dimen>
|
||||
<dimen name="_287sdp">287.00dp</dimen>
|
||||
<dimen name="_288sdp">288.00dp</dimen>
|
||||
<dimen name="_289sdp">289.00dp</dimen>
|
||||
<dimen name="_290sdp">290.00dp</dimen>
|
||||
<dimen name="_291sdp">291.00dp</dimen>
|
||||
<dimen name="_292sdp">292.00dp</dimen>
|
||||
<dimen name="_293sdp">293.00dp</dimen>
|
||||
<dimen name="_294sdp">294.00dp</dimen>
|
||||
<dimen name="_295sdp">295.00dp</dimen>
|
||||
<dimen name="_296sdp">296.00dp</dimen>
|
||||
<dimen name="_297sdp">297.00dp</dimen>
|
||||
<dimen name="_298sdp">298.00dp</dimen>
|
||||
<dimen name="_299sdp">299.00dp</dimen>
|
||||
<dimen name="_300sdp">300.00dp</dimen>
|
||||
</resources>
|
|
@ -0,0 +1,7 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Base.Theme.QualityControlApp" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Customize your dark theme here. -->
|
||||
<!-- <item name="colorPrimary">@color/my_dark_primary</item> -->
|
||||
</style>
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="dimension">values-sw300dp</string>
|
||||
</resources>
|
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="_1sdp">1.00dp</dimen>
|
||||
<dimen name="_2sdp">2.00dp</dimen>
|
||||
<dimen name="_3sdp">3.00dp</dimen>
|
||||
<dimen name="_4sdp">4.00dp</dimen>
|
||||
<dimen name="_5sdp">5.00dp</dimen>
|
||||
<dimen name="_6sdp">6.00dp</dimen>
|
||||
<dimen name="_7sdp">7.00dp</dimen>
|
||||
<dimen name="_8sdp">8.00dp</dimen>
|
||||
<dimen name="_9sdp">9.00dp</dimen>
|
||||
<dimen name="_10sdp">10.00dp</dimen>
|
||||
<dimen name="_11sdp">11.00dp</dimen>
|
||||
<dimen name="_12sdp">12.00dp</dimen>
|
||||
<dimen name="_13sdp">13.00dp</dimen>
|
||||
<dimen name="_14sdp">14.00dp</dimen>
|
||||
<dimen name="_15sdp">15.00dp</dimen>
|
||||
<dimen name="_16sdp">16.00dp</dimen>
|
||||
<dimen name="_17sdp">17.00dp</dimen>
|
||||
<dimen name="_18sdp">18.00dp</dimen>
|
||||
<dimen name="_19sdp">19.00dp</dimen>
|
||||
<dimen name="_20sdp">20.00dp</dimen>
|
||||
<dimen name="_21sdp">21.00dp</dimen>
|
||||
<dimen name="_22sdp">22.00dp</dimen>
|
||||
<dimen name="_23sdp">23.00dp</dimen>
|
||||
<dimen name="_24sdp">24.00dp</dimen>
|
||||
<dimen name="_25sdp">25.00dp</dimen>
|
||||
<dimen name="_26sdp">26.00dp</dimen>
|
||||
<dimen name="_27sdp">27.00dp</dimen>
|
||||
<dimen name="_28sdp">28.00dp</dimen>
|
||||
<dimen name="_29sdp">29.00dp</dimen>
|
||||
<dimen name="_30sdp">30.00dp</dimen>
|
||||
<dimen name="_31sdp">31.00dp</dimen>
|
||||
<dimen name="_32sdp">32.00dp</dimen>
|
||||
<dimen name="_33sdp">33.00dp</dimen>
|
||||
<dimen name="_34sdp">34.00dp</dimen>
|
||||
<dimen name="_35sdp">35.00dp</dimen>
|
||||
<dimen name="_36sdp">36.00dp</dimen>
|
||||
<dimen name="_37sdp">37.00dp</dimen>
|
||||
<dimen name="_38sdp">38.00dp</dimen>
|
||||
<dimen name="_39sdp">39.00dp</dimen>
|
||||
<dimen name="_40sdp">40.00dp</dimen>
|
||||
<dimen name="_41sdp">41.00dp</dimen>
|
||||
<dimen name="_42sdp">42.00dp</dimen>
|
||||
<dimen name="_43sdp">43.00dp</dimen>
|
||||
<dimen name="_44sdp">44.00dp</dimen>
|
||||
<dimen name="_45sdp">45.00dp</dimen>
|
||||
<dimen name="_46sdp">46.00dp</dimen>
|
||||
<dimen name="_47sdp">47.00dp</dimen>
|
||||
<dimen name="_48sdp">48.00dp</dimen>
|
||||
<dimen name="_49sdp">49.00dp</dimen>
|
||||
<dimen name="_50sdp">50.00dp</dimen>
|
||||
<dimen name="_51sdp">51.00dp</dimen>
|
||||
<dimen name="_52sdp">52.00dp</dimen>
|
||||
<dimen name="_53sdp">53.00dp</dimen>
|
||||
<dimen name="_54sdp">54.00dp</dimen>
|
||||
<dimen name="_55sdp">55.00dp</dimen>
|
||||
<dimen name="_56sdp">56.00dp</dimen>
|
||||
<dimen name="_57sdp">57.00dp</dimen>
|
||||
<dimen name="_58sdp">58.00dp</dimen>
|
||||
<dimen name="_59sdp">59.00dp</dimen>
|
||||
<dimen name="_60sdp">60.00dp</dimen>
|
||||
<dimen name="_61sdp">61.00dp</dimen>
|
||||
<dimen name="_62sdp">62.00dp</dimen>
|
||||
<dimen name="_63sdp">63.00dp</dimen>
|
||||
<dimen name="_64sdp">64.00dp</dimen>
|
||||
<dimen name="_65sdp">65.00dp</dimen>
|
||||
<dimen name="_66sdp">66.00dp</dimen>
|
||||
<dimen name="_67sdp">67.00dp</dimen>
|
||||
<dimen name="_68sdp">68.00dp</dimen>
|
||||
<dimen name="_69sdp">69.00dp</dimen>
|
||||
<dimen name="_70sdp">70.00dp</dimen>
|
||||
<dimen name="_71sdp">71.00dp</dimen>
|
||||
<dimen name="_72sdp">72.00dp</dimen>
|
||||
<dimen name="_73sdp">73.00dp</dimen>
|
||||
<dimen name="_74sdp">74.00dp</dimen>
|
||||
<dimen name="_75sdp">75.00dp</dimen>
|
||||
<dimen name="_76sdp">76.00dp</dimen>
|
||||
<dimen name="_77sdp">77.00dp</dimen>
|
||||
<dimen name="_78sdp">78.00dp</dimen>
|
||||
<dimen name="_79sdp">79.00dp</dimen>
|
||||
<dimen name="_80sdp">80.00dp</dimen>
|
||||
<dimen name="_81sdp">81.00dp</dimen>
|
||||
<dimen name="_82sdp">82.00dp</dimen>
|
||||
<dimen name="_83sdp">83.00dp</dimen>
|
||||
<dimen name="_84sdp">84.00dp</dimen>
|
||||
<dimen name="_85sdp">85.00dp</dimen>
|
||||
<dimen name="_86sdp">86.00dp</dimen>
|
||||
<dimen name="_87sdp">87.00dp</dimen>
|
||||
<dimen name="_88sdp">88.00dp</dimen>
|
||||
<dimen name="_89sdp">89.00dp</dimen>
|
||||
<dimen name="_90sdp">90.00dp</dimen>
|
||||
<dimen name="_91sdp">91.00dp</dimen>
|
||||
<dimen name="_92sdp">92.00dp</dimen>
|
||||
<dimen name="_93sdp">93.00dp</dimen>
|
||||
<dimen name="_94sdp">94.00dp</dimen>
|
||||
<dimen name="_95sdp">95.00dp</dimen>
|
||||
<dimen name="_96sdp">96.00dp</dimen>
|
||||
<dimen name="_97sdp">97.00dp</dimen>
|
||||
<dimen name="_98sdp">98.00dp</dimen>
|
||||
<dimen name="_99sdp">99.00dp</dimen>
|
||||
<dimen name="_100sdp">100.00dp</dimen>
|
||||
<dimen name="_101sdp">101.00dp</dimen>
|
||||
<dimen name="_102sdp">102.00dp</dimen>
|
||||
<dimen name="_103sdp">103.00dp</dimen>
|
||||
<dimen name="_104sdp">104.00dp</dimen>
|
||||
<dimen name="_105sdp">105.00dp</dimen>
|
||||
<dimen name="_106sdp">106.00dp</dimen>
|
||||
<dimen name="_107sdp">107.00dp</dimen>
|
||||
<dimen name="_108sdp">108.00dp</dimen>
|
||||
<dimen name="_109sdp">109.00dp</dimen>
|
||||
<dimen name="_110sdp">110.00dp</dimen>
|
||||
<dimen name="_111sdp">111.00dp</dimen>
|
||||
<dimen name="_112sdp">112.00dp</dimen>
|
||||
<dimen name="_113sdp">113.00dp</dimen>
|
||||
<dimen name="_114sdp">114.00dp</dimen>
|
||||
<dimen name="_115sdp">115.00dp</dimen>
|
||||
<dimen name="_116sdp">116.00dp</dimen>
|
||||
<dimen name="_117sdp">117.00dp</dimen>
|
||||
<dimen name="_118sdp">118.00dp</dimen>
|
||||
<dimen name="_119sdp">119.00dp</dimen>
|
||||
<dimen name="_120sdp">120.00dp</dimen>
|
||||
<dimen name="_121sdp">121.00dp</dimen>
|
||||
<dimen name="_122sdp">122.00dp</dimen>
|
||||
<dimen name="_123sdp">123.00dp</dimen>
|
||||
<dimen name="_124sdp">124.00dp</dimen>
|
||||
<dimen name="_125sdp">125.00dp</dimen>
|
||||
<dimen name="_126sdp">126.00dp</dimen>
|
||||
<dimen name="_127sdp">127.00dp</dimen>
|
||||
<dimen name="_128sdp">128.00dp</dimen>
|
||||
<dimen name="_129sdp">129.00dp</dimen>
|
||||
<dimen name="_130sdp">130.00dp</dimen>
|
||||
<dimen name="_131sdp">131.00dp</dimen>
|
||||
<dimen name="_132sdp">132.00dp</dimen>
|
||||
<dimen name="_133sdp">133.00dp</dimen>
|
||||
<dimen name="_134sdp">134.00dp</dimen>
|
||||
<dimen name="_135sdp">135.00dp</dimen>
|
||||
<dimen name="_136sdp">136.00dp</dimen>
|
||||
<dimen name="_137sdp">137.00dp</dimen>
|
||||
<dimen name="_138sdp">138.00dp</dimen>
|
||||
<dimen name="_139sdp">139.00dp</dimen>
|
||||
<dimen name="_140sdp">140.00dp</dimen>
|
||||
<dimen name="_141sdp">141.00dp</dimen>
|
||||
<dimen name="_142sdp">142.00dp</dimen>
|
||||
<dimen name="_143sdp">143.00dp</dimen>
|
||||
<dimen name="_144sdp">144.00dp</dimen>
|
||||
<dimen name="_145sdp">145.00dp</dimen>
|
||||
<dimen name="_146sdp">146.00dp</dimen>
|
||||
<dimen name="_147sdp">147.00dp</dimen>
|
||||
<dimen name="_148sdp">148.00dp</dimen>
|
||||
<dimen name="_149sdp">149.00dp</dimen>
|
||||
<dimen name="_150sdp">150.00dp</dimen>
|
||||
<dimen name="_151sdp">151.00dp</dimen>
|
||||
<dimen name="_152sdp">152.00dp</dimen>
|
||||
<dimen name="_153sdp">153.00dp</dimen>
|
||||
<dimen name="_154sdp">154.00dp</dimen>
|
||||
<dimen name="_155sdp">155.00dp</dimen>
|
||||
<dimen name="_156sdp">156.00dp</dimen>
|
||||
<dimen name="_157sdp">157.00dp</dimen>
|
||||
<dimen name="_158sdp">158.00dp</dimen>
|
||||
<dimen name="_159sdp">159.00dp</dimen>
|
||||
<dimen name="_160sdp">160.00dp</dimen>
|
||||
<dimen name="_161sdp">161.00dp</dimen>
|
||||
<dimen name="_162sdp">162.00dp</dimen>
|
||||
<dimen name="_163sdp">163.00dp</dimen>
|
||||
<dimen name="_164sdp">164.00dp</dimen>
|
||||
<dimen name="_165sdp">165.00dp</dimen>
|
||||
<dimen name="_166sdp">166.00dp</dimen>
|
||||
<dimen name="_167sdp">167.00dp</dimen>
|
||||
<dimen name="_168sdp">168.00dp</dimen>
|
||||
<dimen name="_169sdp">169.00dp</dimen>
|
||||
<dimen name="_170sdp">170.00dp</dimen>
|
||||
<dimen name="_171sdp">171.00dp</dimen>
|
||||
<dimen name="_172sdp">172.00dp</dimen>
|
||||
<dimen name="_173sdp">173.00dp</dimen>
|
||||
<dimen name="_174sdp">174.00dp</dimen>
|
||||
<dimen name="_175sdp">175.00dp</dimen>
|
||||
<dimen name="_176sdp">176.00dp</dimen>
|
||||
<dimen name="_177sdp">177.00dp</dimen>
|
||||
<dimen name="_178sdp">178.00dp</dimen>
|
||||
<dimen name="_179sdp">179.00dp</dimen>
|
||||
<dimen name="_180sdp">180.00dp</dimen>
|
||||
<dimen name="_181sdp">181.00dp</dimen>
|
||||
<dimen name="_182sdp">182.00dp</dimen>
|
||||
<dimen name="_183sdp">183.00dp</dimen>
|
||||
<dimen name="_184sdp">184.00dp</dimen>
|
||||
<dimen name="_185sdp">185.00dp</dimen>
|
||||
<dimen name="_186sdp">186.00dp</dimen>
|
||||
<dimen name="_187sdp">187.00dp</dimen>
|
||||
<dimen name="_188sdp">188.00dp</dimen>
|
||||
<dimen name="_189sdp">189.00dp</dimen>
|
||||
<dimen name="_190sdp">190.00dp</dimen>
|
||||
<dimen name="_191sdp">191.00dp</dimen>
|
||||
<dimen name="_192sdp">192.00dp</dimen>
|
||||
<dimen name="_193sdp">193.00dp</dimen>
|
||||
<dimen name="_194sdp">194.00dp</dimen>
|
||||
<dimen name="_195sdp">195.00dp</dimen>
|
||||
<dimen name="_196sdp">196.00dp</dimen>
|
||||
<dimen name="_197sdp">197.00dp</dimen>
|
||||
<dimen name="_198sdp">198.00dp</dimen>
|
||||
<dimen name="_199sdp">199.00dp</dimen>
|
||||
<dimen name="_200sdp">200.00dp</dimen>
|
||||
<dimen name="_201sdp">201.00dp</dimen>
|
||||
<dimen name="_202sdp">202.00dp</dimen>
|
||||
<dimen name="_203sdp">203.00dp</dimen>
|
||||
<dimen name="_204sdp">204.00dp</dimen>
|
||||
<dimen name="_205sdp">205.00dp</dimen>
|
||||
<dimen name="_206sdp">206.00dp</dimen>
|
||||
<dimen name="_207sdp">207.00dp</dimen>
|
||||
<dimen name="_208sdp">208.00dp</dimen>
|
||||
<dimen name="_209sdp">209.00dp</dimen>
|
||||
<dimen name="_210sdp">210.00dp</dimen>
|
||||
<dimen name="_211sdp">211.00dp</dimen>
|
||||
<dimen name="_212sdp">212.00dp</dimen>
|
||||
<dimen name="_213sdp">213.00dp</dimen>
|
||||
<dimen name="_214sdp">214.00dp</dimen>
|
||||
<dimen name="_215sdp">215.00dp</dimen>
|
||||
<dimen name="_216sdp">216.00dp</dimen>
|
||||
<dimen name="_217sdp">217.00dp</dimen>
|
||||
<dimen name="_218sdp">218.00dp</dimen>
|
||||
<dimen name="_219sdp">219.00dp</dimen>
|
||||
<dimen name="_220sdp">220.00dp</dimen>
|
||||
<dimen name="_221sdp">221.00dp</dimen>
|
||||
<dimen name="_222sdp">222.00dp</dimen>
|
||||
<dimen name="_223sdp">223.00dp</dimen>
|
||||
<dimen name="_224sdp">224.00dp</dimen>
|
||||
<dimen name="_225sdp">225.00dp</dimen>
|
||||
<dimen name="_226sdp">226.00dp</dimen>
|
||||
<dimen name="_227sdp">227.00dp</dimen>
|
||||
<dimen name="_228sdp">228.00dp</dimen>
|
||||
<dimen name="_229sdp">229.00dp</dimen>
|
||||
<dimen name="_230sdp">230.00dp</dimen>
|
||||
<dimen name="_231sdp">231.00dp</dimen>
|
||||
<dimen name="_232sdp">232.00dp</dimen>
|
||||
<dimen name="_233sdp">233.00dp</dimen>
|
||||
<dimen name="_234sdp">234.00dp</dimen>
|
||||
<dimen name="_235sdp">235.00dp</dimen>
|
||||
<dimen name="_236sdp">236.00dp</dimen>
|
||||
<dimen name="_237sdp">237.00dp</dimen>
|
||||
<dimen name="_238sdp">238.00dp</dimen>
|
||||
<dimen name="_239sdp">239.00dp</dimen>
|
||||
<dimen name="_240sdp">240.00dp</dimen>
|
||||
<dimen name="_241sdp">241.00dp</dimen>
|
||||
<dimen name="_242sdp">242.00dp</dimen>
|
||||
<dimen name="_243sdp">243.00dp</dimen>
|
||||
<dimen name="_244sdp">244.00dp</dimen>
|
||||
<dimen name="_245sdp">245.00dp</dimen>
|
||||
<dimen name="_246sdp">246.00dp</dimen>
|
||||
<dimen name="_247sdp">247.00dp</dimen>
|
||||
<dimen name="_248sdp">248.00dp</dimen>
|
||||
<dimen name="_249sdp">249.00dp</dimen>
|
||||
<dimen name="_250sdp">250.00dp</dimen>
|
||||
<dimen name="_251sdp">251.00dp</dimen>
|
||||
<dimen name="_252sdp">252.00dp</dimen>
|
||||
<dimen name="_253sdp">253.00dp</dimen>
|
||||
<dimen name="_254sdp">254.00dp</dimen>
|
||||
<dimen name="_255sdp">255.00dp</dimen>
|
||||
<dimen name="_256sdp">256.00dp</dimen>
|
||||
<dimen name="_257sdp">257.00dp</dimen>
|
||||
<dimen name="_258sdp">258.00dp</dimen>
|
||||
<dimen name="_259sdp">259.00dp</dimen>
|
||||
<dimen name="_260sdp">260.00dp</dimen>
|
||||
<dimen name="_261sdp">261.00dp</dimen>
|
||||
<dimen name="_262sdp">262.00dp</dimen>
|
||||
<dimen name="_263sdp">263.00dp</dimen>
|
||||
<dimen name="_264sdp">264.00dp</dimen>
|
||||
<dimen name="_265sdp">265.00dp</dimen>
|
||||
<dimen name="_266sdp">266.00dp</dimen>
|
||||
<dimen name="_267sdp">267.00dp</dimen>
|
||||
<dimen name="_268sdp">268.00dp</dimen>
|
||||
<dimen name="_269sdp">269.00dp</dimen>
|
||||
<dimen name="_270sdp">270.00dp</dimen>
|
||||
<dimen name="_271sdp">271.00dp</dimen>
|
||||
<dimen name="_272sdp">272.00dp</dimen>
|
||||
<dimen name="_273sdp">273.00dp</dimen>
|
||||
<dimen name="_274sdp">274.00dp</dimen>
|
||||
<dimen name="_275sdp">275.00dp</dimen>
|
||||
<dimen name="_276sdp">276.00dp</dimen>
|
||||
<dimen name="_277sdp">277.00dp</dimen>
|
||||
<dimen name="_278sdp">278.00dp</dimen>
|
||||
<dimen name="_279sdp">279.00dp</dimen>
|
||||
<dimen name="_280sdp">280.00dp</dimen>
|
||||
<dimen name="_281sdp">281.00dp</dimen>
|
||||
<dimen name="_282sdp">282.00dp</dimen>
|
||||
<dimen name="_283sdp">283.00dp</dimen>
|
||||
<dimen name="_284sdp">284.00dp</dimen>
|
||||
<dimen name="_285sdp">285.00dp</dimen>
|
||||
<dimen name="_286sdp">286.00dp</dimen>
|
||||
<dimen name="_287sdp">287.00dp</dimen>
|
||||
<dimen name="_288sdp">288.00dp</dimen>
|
||||
<dimen name="_289sdp">289.00dp</dimen>
|
||||
<dimen name="_290sdp">290.00dp</dimen>
|
||||
<dimen name="_291sdp">291.00dp</dimen>
|
||||
<dimen name="_292sdp">292.00dp</dimen>
|
||||
<dimen name="_293sdp">293.00dp</dimen>
|
||||
<dimen name="_294sdp">294.00dp</dimen>
|
||||
<dimen name="_295sdp">295.00dp</dimen>
|
||||
<dimen name="_296sdp">296.00dp</dimen>
|
||||
<dimen name="_297sdp">297.00dp</dimen>
|
||||
<dimen name="_298sdp">298.00dp</dimen>
|
||||
<dimen name="_299sdp">299.00dp</dimen>
|
||||
<dimen name="_300sdp">300.00dp</dimen>
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="dimension">values-sw330dp</string>
|
||||
</resources>
|
|
@ -0,0 +1,303 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="_1sdp">1.10dp</dimen>
|
||||
<dimen name="_2sdp">2.20dp</dimen>
|
||||
<dimen name="_3sdp">3.30dp</dimen>
|
||||
<dimen name="_4sdp">4.40dp</dimen>
|
||||
<dimen name="_5sdp">5.50dp</dimen>
|
||||
<dimen name="_6sdp">6.60dp</dimen>
|
||||
<dimen name="_7sdp">7.70dp</dimen>
|
||||
<dimen name="_8sdp">8.80dp</dimen>
|
||||
<dimen name="_9sdp">9.90dp</dimen>
|
||||
<dimen name="_10sdp">11.00dp</dimen>
|
||||
<dimen name="_11sdp">12.10dp</dimen>
|
||||
<dimen name="_12sdp">13.20dp</dimen>
|
||||
<dimen name="_13sdp">14.30dp</dimen>
|
||||
<dimen name="_14sdp">15.40dp</dimen>
|
||||
<dimen name="_15sdp">16.50dp</dimen>
|
||||
<dimen name="_16sdp">17.60dp</dimen>
|
||||
<dimen name="_17sdp">18.70dp</dimen>
|
||||
<dimen name="_18sdp">19.80dp</dimen>
|
||||
<dimen name="_19sdp">20.90dp</dimen>
|
||||
<dimen name="_20sdp">22.00dp</dimen>
|
||||
<dimen name="_21sdp">23.10dp</dimen>
|
||||
<dimen name="_22sdp">24.20dp</dimen>
|
||||
<dimen name="_23sdp">25.30dp</dimen>
|
||||
<dimen name="_24sdp">26.40dp</dimen>
|
||||
<dimen name="_25sdp">27.50dp</dimen>
|
||||
<dimen name="_26sdp">28.60dp</dimen>
|
||||
<dimen name="_27sdp">29.70dp</dimen>
|
||||
<dimen name="_28sdp">30.80dp</dimen>
|
||||
<dimen name="_29sdp">31.90dp</dimen>
|
||||
<dimen name="_30sdp">33.00dp</dimen>
|
||||
<dimen name="_31sdp">34.10dp</dimen>
|
||||
<dimen name="_32sdp">35.20dp</dimen>
|
||||
<dimen name="_33sdp">36.30dp</dimen>
|
||||
<dimen name="_34sdp">37.40dp</dimen>
|
||||
<dimen name="_35sdp">38.50dp</dimen>
|
||||
<dimen name="_36sdp">39.60dp</dimen>
|
||||
<dimen name="_37sdp">40.70dp</dimen>
|
||||
<dimen name="_38sdp">41.80dp</dimen>
|
||||
<dimen name="_39sdp">42.90dp</dimen>
|
||||
<dimen name="_40sdp">44.00dp</dimen>
|
||||
<dimen name="_41sdp">45.10dp</dimen>
|
||||
<dimen name="_42sdp">46.20dp</dimen>
|
||||
<dimen name="_43sdp">47.30dp</dimen>
|
||||
<dimen name="_44sdp">48.40dp</dimen>
|
||||
<dimen name="_45sdp">49.50dp</dimen>
|
||||
<dimen name="_46sdp">50.60dp</dimen>
|
||||
<dimen name="_47sdp">51.70dp</dimen>
|
||||
<dimen name="_48sdp">52.80dp</dimen>
|
||||
<dimen name="_49sdp">53.90dp</dimen>
|
||||
<dimen name="_50sdp">55.00dp</dimen>
|
||||
<dimen name="_51sdp">56.10dp</dimen>
|
||||
<dimen name="_52sdp">57.20dp</dimen>
|
||||
<dimen name="_53sdp">58.30dp</dimen>
|
||||
<dimen name="_54sdp">59.40dp</dimen>
|
||||
<dimen name="_55sdp">60.50dp</dimen>
|
||||
<dimen name="_56sdp">61.60dp</dimen>
|
||||
<dimen name="_57sdp">62.70dp</dimen>
|
||||
<dimen name="_58sdp">63.80dp</dimen>
|
||||
<dimen name="_59sdp">64.90dp</dimen>
|
||||
<dimen name="_60sdp">66.00dp</dimen>
|
||||
<dimen name="_61sdp">67.10dp</dimen>
|
||||
<dimen name="_62sdp">68.20dp</dimen>
|
||||
<dimen name="_63sdp">69.30dp</dimen>
|
||||
<dimen name="_64sdp">70.40dp</dimen>
|
||||
<dimen name="_65sdp">71.50dp</dimen>
|
||||
<dimen name="_66sdp">72.60dp</dimen>
|
||||
<dimen name="_67sdp">73.70dp</dimen>
|
||||
<dimen name="_68sdp">74.80dp</dimen>
|
||||
<dimen name="_69sdp">75.90dp</dimen>
|
||||
<dimen name="_70sdp">77.00dp</dimen>
|
||||
<dimen name="_71sdp">78.10dp</dimen>
|
||||
<dimen name="_72sdp">79.20dp</dimen>
|
||||
<dimen name="_73sdp">80.30dp</dimen>
|
||||
<dimen name="_74sdp">81.40dp</dimen>
|
||||
<dimen name="_75sdp">82.50dp</dimen>
|
||||
<dimen name="_76sdp">83.60dp</dimen>
|
||||
<dimen name="_77sdp">84.70dp</dimen>
|
||||
<dimen name="_78sdp">85.80dp</dimen>
|
||||
<dimen name="_79sdp">86.90dp</dimen>
|
||||
<dimen name="_80sdp">88.00dp</dimen>
|
||||
<dimen name="_81sdp">89.10dp</dimen>
|
||||
<dimen name="_82sdp">90.20dp</dimen>
|
||||
<dimen name="_83sdp">91.30dp</dimen>
|
||||
<dimen name="_84sdp">92.40dp</dimen>
|
||||
<dimen name="_85sdp">93.50dp</dimen>
|
||||
<dimen name="_86sdp">94.60dp</dimen>
|
||||
<dimen name="_87sdp">95.70dp</dimen>
|
||||
<dimen name="_88sdp">96.80dp</dimen>
|
||||
<dimen name="_89sdp">97.90dp</dimen>
|
||||
<dimen name="_90sdp">99.00dp</dimen>
|
||||
<dimen name="_91sdp">100.10dp</dimen>
|
||||
<dimen name="_92sdp">101.20dp</dimen>
|
||||
<dimen name="_93sdp">102.30dp</dimen>
|
||||
<dimen name="_94sdp">103.40dp</dimen>
|
||||
<dimen name="_95sdp">104.50dp</dimen>
|
||||
<dimen name="_96sdp">105.60dp</dimen>
|
||||
<dimen name="_97sdp">106.70dp</dimen>
|
||||
<dimen name="_98sdp">107.80dp</dimen>
|
||||
<dimen name="_99sdp">108.90dp</dimen>
|
||||
<dimen name="_100sdp">110.00dp</dimen>
|
||||
<dimen name="_101sdp">111.10dp</dimen>
|
||||
<dimen name="_102sdp">112.20dp</dimen>
|
||||
<dimen name="_103sdp">113.30dp</dimen>
|
||||
<dimen name="_104sdp">114.40dp</dimen>
|
||||
<dimen name="_105sdp">115.50dp</dimen>
|
||||
<dimen name="_106sdp">116.60dp</dimen>
|
||||
<dimen name="_107sdp">117.70dp</dimen>
|
||||
<dimen name="_108sdp">118.80dp</dimen>
|
||||
<dimen name="_109sdp">119.90dp</dimen>
|
||||
<dimen name="_110sdp">121.00dp</dimen>
|
||||
<dimen name="_111sdp">122.10dp</dimen>
|
||||
<dimen name="_112sdp">123.20dp</dimen>
|
||||
<dimen name="_113sdp">124.30dp</dimen>
|
||||
<dimen name="_114sdp">125.40dp</dimen>
|
||||
<dimen name="_115sdp">126.50dp</dimen>
|
||||
<dimen name="_116sdp">127.60dp</dimen>
|
||||
<dimen name="_117sdp">128.70dp</dimen>
|
||||
<dimen name="_118sdp">129.80dp</dimen>
|
||||
<dimen name="_119sdp">130.90dp</dimen>
|
||||
<dimen name="_120sdp">132.00dp</dimen>
|
||||
<dimen name="_121sdp">133.10dp</dimen>
|
||||
<dimen name="_122sdp">134.20dp</dimen>
|
||||
<dimen name="_123sdp">135.30dp</dimen>
|
||||
<dimen name="_124sdp">136.40dp</dimen>
|
||||
<dimen name="_125sdp">137.50dp</dimen>
|
||||
<dimen name="_126sdp">138.60dp</dimen>
|
||||
<dimen name="_127sdp">139.70dp</dimen>
|
||||
<dimen name="_128sdp">140.80dp</dimen>
|
||||
<dimen name="_129sdp">141.90dp</dimen>
|
||||
<dimen name="_130sdp">143.00dp</dimen>
|
||||
<dimen name="_131sdp">144.10dp</dimen>
|
||||
<dimen name="_132sdp">145.20dp</dimen>
|
||||
<dimen name="_133sdp">146.30dp</dimen>
|
||||
<dimen name="_134sdp">147.40dp</dimen>
|
||||
<dimen name="_135sdp">148.50dp</dimen>
|
||||
<dimen name="_136sdp">149.60dp</dimen>
|
||||
<dimen name="_137sdp">150.70dp</dimen>
|
||||
<dimen name="_138sdp">151.80dp</dimen>
|
||||
<dimen name="_139sdp">152.90dp</dimen>
|
||||
<dimen name="_140sdp">154.00dp</dimen>
|
||||
<dimen name="_141sdp">155.10dp</dimen>
|
||||
<dimen name="_142sdp">156.20dp</dimen>
|
||||
<dimen name="_143sdp">157.30dp</dimen>
|
||||
<dimen name="_144sdp">158.40dp</dimen>
|
||||
<dimen name="_145sdp">159.50dp</dimen>
|
||||
<dimen name="_146sdp">160.60dp</dimen>
|
||||
<dimen name="_147sdp">161.70dp</dimen>
|
||||
<dimen name="_148sdp">162.80dp</dimen>
|
||||
<dimen name="_149sdp">163.90dp</dimen>
|
||||
<dimen name="_150sdp">165.00dp</dimen>
|
||||
<dimen name="_151sdp">166.10dp</dimen>
|
||||
<dimen name="_152sdp">167.20dp</dimen>
|
||||
<dimen name="_153sdp">168.30dp</dimen>
|
||||
<dimen name="_154sdp">169.40dp</dimen>
|
||||
<dimen name="_155sdp">170.50dp</dimen>
|
||||
<dimen name="_156sdp">171.60dp</dimen>
|
||||
<dimen name="_157sdp">172.70dp</dimen>
|
||||
<dimen name="_158sdp">173.80dp</dimen>
|
||||
<dimen name="_159sdp">174.90dp</dimen>
|
||||
<dimen name="_160sdp">176.00dp</dimen>
|
||||
<dimen name="_161sdp">177.10dp</dimen>
|
||||
<dimen name="_162sdp">178.20dp</dimen>
|
||||
<dimen name="_163sdp">179.30dp</dimen>
|
||||
<dimen name="_164sdp">180.40dp</dimen>
|
||||
<dimen name="_165sdp">181.50dp</dimen>
|
||||
<dimen name="_166sdp">182.60dp</dimen>
|
||||
<dimen name="_167sdp">183.70dp</dimen>
|
||||
<dimen name="_168sdp">184.80dp</dimen>
|
||||
<dimen name="_169sdp">185.90dp</dimen>
|
||||
<dimen name="_170sdp">187.00dp</dimen>
|
||||
<dimen name="_171sdp">188.10dp</dimen>
|
||||
<dimen name="_172sdp">189.20dp</dimen>
|
||||
<dimen name="_173sdp">190.30dp</dimen>
|
||||
<dimen name="_174sdp">191.40dp</dimen>
|
||||
<dimen name="_175sdp">192.50dp</dimen>
|
||||
<dimen name="_176sdp">193.60dp</dimen>
|
||||
<dimen name="_177sdp">194.70dp</dimen>
|
||||
<dimen name="_178sdp">195.80dp</dimen>
|
||||
<dimen name="_179sdp">196.90dp</dimen>
|
||||
<dimen name="_180sdp">198.00dp</dimen>
|
||||
<dimen name="_181sdp">199.10dp</dimen>
|
||||
<dimen name="_182sdp">200.20dp</dimen>
|
||||
<dimen name="_183sdp">201.30dp</dimen>
|
||||
<dimen name="_184sdp">202.40dp</dimen>
|
||||
<dimen name="_185sdp">203.50dp</dimen>
|
||||
<dimen name="_186sdp">204.60dp</dimen>
|
||||
<dimen name="_187sdp">205.70dp</dimen>
|
||||
<dimen name="_188sdp">206.80dp</dimen>
|
||||
<dimen name="_189sdp">207.90dp</dimen>
|
||||
<dimen name="_190sdp">209.00dp</dimen>
|
||||
<dimen name="_191sdp">210.10dp</dimen>
|
||||
<dimen name="_192sdp">211.20dp</dimen>
|
||||
<dimen name="_193sdp">212.30dp</dimen>
|
||||
<dimen name="_194sdp">213.40dp</dimen>
|
||||
<dimen name="_195sdp">214.50dp</dimen>
|
||||
<dimen name="_196sdp">215.60dp</dimen>
|
||||
<dimen name="_197sdp">216.70dp</dimen>
|
||||
<dimen name="_198sdp">217.80dp</dimen>
|
||||
<dimen name="_199sdp">218.90dp</dimen>
|
||||
<dimen name="_200sdp">220.00dp</dimen>
|
||||
<dimen name="_201sdp">221.10dp</dimen>
|
||||
<dimen name="_202sdp">222.20dp</dimen>
|
||||
<dimen name="_203sdp">223.30dp</dimen>
|
||||
<dimen name="_204sdp">224.40dp</dimen>
|
||||
<dimen name="_205sdp">225.50dp</dimen>
|
||||
<dimen name="_206sdp">226.60dp</dimen>
|
||||
<dimen name="_207sdp">227.70dp</dimen>
|
||||
<dimen name="_208sdp">228.80dp</dimen>
|
||||
<dimen name="_209sdp">229.90dp</dimen>
|
||||
<dimen name="_210sdp">231.00dp</dimen>
|
||||
<dimen name="_211sdp">232.10dp</dimen>
|
||||
<dimen name="_212sdp">233.20dp</dimen>
|
||||
<dimen name="_213sdp">234.30dp</dimen>
|
||||
<dimen name="_214sdp">235.40dp</dimen>
|
||||
<dimen name="_215sdp">236.50dp</dimen>
|
||||
<dimen name="_216sdp">237.60dp</dimen>
|
||||
<dimen name="_217sdp">238.70dp</dimen>
|
||||
<dimen name="_218sdp">239.80dp</dimen>
|
||||
<dimen name="_219sdp">240.90dp</dimen>
|
||||
<dimen name="_220sdp">242.00dp</dimen>
|
||||
<dimen name="_221sdp">243.10dp</dimen>
|
||||
<dimen name="_222sdp">244.20dp</dimen>
|
||||
<dimen name="_223sdp">245.30dp</dimen>
|
||||
<dimen name="_224sdp">246.40dp</dimen>
|
||||
<dimen name="_225sdp">247.50dp</dimen>
|
||||
<dimen name="_226sdp">248.60dp</dimen>
|
||||
<dimen name="_227sdp">249.70dp</dimen>
|
||||
<dimen name="_228sdp">250.80dp</dimen>
|
||||
<dimen name="_229sdp">251.90dp</dimen>
|
||||
<dimen name="_230sdp">253.00dp</dimen>
|
||||
<dimen name="_231sdp">254.10dp</dimen>
|
||||
<dimen name="_232sdp">255.20dp</dimen>
|
||||
<dimen name="_233sdp">256.30dp</dimen>
|
||||
<dimen name="_234sdp">257.40dp</dimen>
|
||||
<dimen name="_235sdp">258.50dp</dimen>
|
||||
<dimen name="_236sdp">259.60dp</dimen>
|
||||
<dimen name="_237sdp">260.70dp</dimen>
|
||||
<dimen name="_238sdp">261.80dp</dimen>
|
||||
<dimen name="_239sdp">262.90dp</dimen>
|
||||
<dimen name="_240sdp">264.00dp</dimen>
|
||||
<dimen name="_241sdp">265.10dp</dimen>
|
||||
<dimen name="_242sdp">266.20dp</dimen>
|
||||
<dimen name="_243sdp">267.30dp</dimen>
|
||||
<dimen name="_244sdp">268.40dp</dimen>
|
||||
<dimen name="_245sdp">269.50dp</dimen>
|
||||
<dimen name="_246sdp">270.60dp</dimen>
|
||||
<dimen name="_247sdp">271.70dp</dimen>
|
||||
<dimen name="_248sdp">272.80dp</dimen>
|
||||
<dimen name="_249sdp">273.90dp</dimen>
|
||||
<dimen name="_250sdp">275.00dp</dimen>
|
||||
<dimen name="_251sdp">276.10dp</dimen>
|
||||
<dimen name="_252sdp">277.20dp</dimen>
|
||||
<dimen name="_253sdp">278.30dp</dimen>
|
||||
<dimen name="_254sdp">279.40dp</dimen>
|
||||
<dimen name="_255sdp">280.50dp</dimen>
|
||||
<dimen name="_256sdp">281.60dp</dimen>
|
||||
<dimen name="_257sdp">282.70dp</dimen>
|
||||
<dimen name="_258sdp">283.80dp</dimen>
|
||||
<dimen name="_259sdp">284.90dp</dimen>
|
||||
<dimen name="_260sdp">286.00dp</dimen>
|
||||
<dimen name="_261sdp">287.10dp</dimen>
|
||||
<dimen name="_262sdp">288.20dp</dimen>
|
||||
<dimen name="_263sdp">289.30dp</dimen>
|
||||
<dimen name="_264sdp">290.40dp</dimen>
|
||||
<dimen name="_265sdp">291.50dp</dimen>
|
||||
<dimen name="_266sdp">292.60dp</dimen>
|
||||
<dimen name="_267sdp">293.70dp</dimen>
|
||||
<dimen name="_268sdp">294.80dp</dimen>
|
||||
<dimen name="_269sdp">295.90dp</dimen>
|
||||
<dimen name="_270sdp">297.00dp</dimen>
|
||||
<dimen name="_271sdp">298.10dp</dimen>
|
||||
<dimen name="_272sdp">299.20dp</dimen>
|
||||
<dimen name="_273sdp">300.30dp</dimen>
|
||||
<dimen name="_274sdp">301.40dp</dimen>
|
||||
<dimen name="_275sdp">302.50dp</dimen>
|
||||
<dimen name="_276sdp">303.60dp</dimen>
|
||||
<dimen name="_277sdp">304.70dp</dimen>
|
||||
<dimen name="_278sdp">305.80dp</dimen>
|
||||
<dimen name="_279sdp">306.90dp</dimen>
|
||||
<dimen name="_280sdp">308.00dp</dimen>
|
||||
<dimen name="_281sdp">309.10dp</dimen>
|
||||
<dimen name="_282sdp">310.20dp</dimen>
|
||||
<dimen name="_283sdp">311.30dp</dimen>
|
||||
<dimen name="_284sdp">312.40dp</dimen>
|
||||
<dimen name="_285sdp">313.50dp</dimen>
|
||||
<dimen name="_286sdp">314.60dp</dimen>
|
||||
<dimen name="_287sdp">315.70dp</dimen>
|
||||
<dimen name="_288sdp">316.80dp</dimen>
|
||||
<dimen name="_289sdp">317.90dp</dimen>
|
||||
<dimen name="_290sdp">319.00dp</dimen>
|
||||
<dimen name="_291sdp">320.10dp</dimen>
|
||||
<dimen name="_292sdp">321.20dp</dimen>
|
||||
<dimen name="_293sdp">322.30dp</dimen>
|
||||
<dimen name="_294sdp">323.40dp</dimen>
|
||||
<dimen name="_295sdp">324.50dp</dimen>
|
||||
<dimen name="_296sdp">325.60dp</dimen>
|
||||
<dimen name="_297sdp">326.70dp</dimen>
|
||||
<dimen name="_298sdp">327.80dp</dimen>
|
||||
<dimen name="_299sdp">328.90dp</dimen>
|
||||
<dimen name="_300sdp">330.00dp</dimen>
|
||||
</resources>
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<string name="dimension">values-sw360dp</string>
|
||||
</resources>
|