First 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 @@
|
|||
/build
|
|
@ -0,0 +1,47 @@
|
|||
plugins {
|
||||
alias(libs.plugins.android.application)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.utopiaindustries.hseobservationsapp'
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.utopiaindustries.hseobservationsapp"
|
||||
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
|
||||
implementation libs.converter.gson
|
||||
implementation libs.glide
|
||||
implementation libs.easypermissions
|
||||
implementation libs.preference
|
||||
|
||||
}
|
|
@ -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.hseobservationsapp;
|
||||
|
||||
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.hseobservationsapp", appContext.getPackageName());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
<?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.ACCESS_NETWORK_STATE" />
|
||||
<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"
|
||||
tools:ignore="SelectedPhotoAccess" />
|
||||
<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/hse"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.HSEObservationsApp"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".activities.LoginActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activities.DashboardActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:exported="true">
|
||||
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,138 @@
|
|||
package com.utopiaindustries.hseobservationsapp.activities;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.activity.EdgeToEdge;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.core.graphics.Insets;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
import com.utopiaindustries.hseobservationsapp.adapters.PagerAdapter;
|
||||
|
||||
public class DashboardActivity extends AppCompatActivity {
|
||||
|
||||
TabLayout tabLayout;
|
||||
ViewPager viewPager;
|
||||
|
||||
PagerAdapter pagerAdapter;
|
||||
|
||||
ImageView imgLogout;
|
||||
ImageView img_back;
|
||||
|
||||
public int[] tabIcons = {
|
||||
R.drawable.icon_tab_home,
|
||||
R.drawable.icon_tab_drafts
|
||||
};
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_dashboard);
|
||||
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;
|
||||
});
|
||||
|
||||
initializeLayout();
|
||||
|
||||
imgLogout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
alertLogOut(DashboardActivity.this);
|
||||
}
|
||||
});
|
||||
|
||||
img_back.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
|
||||
getSupportFragmentManager().popBackStack(); // Go back to the previous fragment
|
||||
} else {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void initializeLayout() {
|
||||
img_back = findViewById(R.id.img_back);
|
||||
imgLogout = findViewById(R.id.img_logout);
|
||||
|
||||
viewPager = (ViewPager) findViewById(R.id.viewpager);
|
||||
pagerAdapter = new PagerAdapter(getSupportFragmentManager(), DashboardActivity.this);
|
||||
viewPager.setAdapter(pagerAdapter);
|
||||
|
||||
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
|
||||
tabLayout.setupWithViewPager(viewPager);
|
||||
|
||||
tabLayout.getTabAt(0).setIcon(tabIcons[0]);
|
||||
tabLayout.getTabAt(1).setIcon(tabIcons[1]);
|
||||
|
||||
for (int i = 0; i < tabLayout.getTabCount(); i++) {
|
||||
TabLayout.Tab tab = tabLayout.getTabAt(i);
|
||||
tab.setCustomView(pagerAdapter.getTabView(i));
|
||||
}
|
||||
}
|
||||
|
||||
public void alertLogOut(Context con) {
|
||||
ViewGroup viewGroup = findViewById(android.R.id.content);
|
||||
|
||||
TextView dialogOkBtn, dialogCancelBtn;
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(con);
|
||||
View view1 = LayoutInflater.from(con).inflate(R.layout.custom_layout_for_logout, viewGroup, false);
|
||||
builder.setCancelable(false);
|
||||
builder.setView(view1);
|
||||
|
||||
dialogOkBtn = view1.findViewById(R.id.dialogOkBtn);
|
||||
dialogCancelBtn = view1.findViewById(R.id.dialogCancelBtn);
|
||||
|
||||
AlertDialog alertDialog = builder.create();
|
||||
alertDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
dialogOkBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
alertDialog.dismiss();
|
||||
|
||||
finish();
|
||||
Intent i = new Intent(DashboardActivity.this, LoginActivity.class);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(i);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
dialogCancelBtn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
||||
alertDialog.dismiss();
|
||||
//Toast.makeText(con, "Cancel", Toast.LENGTH_SHORT).show();
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
alertDialog.show();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,162 @@
|
|||
package com.utopiaindustries.hseobservationsapp.activities;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
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.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
import com.utopiaindustries.hseobservationsapp.apiservice.ApiService;
|
||||
import com.utopiaindustries.hseobservationsapp.apiservice.ApiServiceFactory;
|
||||
import com.utopiaindustries.hseobservationsapp.helper.Helper;
|
||||
import com.utopiaindustries.hseobservationsapp.helper.Preference;
|
||||
import com.utopiaindustries.hseobservationsapp.utils.ProgressDialogFragment;
|
||||
import com.utopiaindustries.hseobservationsapp.viewmodels.LoginViewModel;
|
||||
|
||||
public class LoginActivity extends AppCompatActivity {
|
||||
|
||||
EditText tfEmail, tfPassword;
|
||||
Button btnLogin;
|
||||
LoginViewModel loginViewModel;
|
||||
ApiService apiService;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
EdgeToEdge.enable(this);
|
||||
setContentView(R.layout.activity_login);
|
||||
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;
|
||||
});
|
||||
|
||||
if (!Helper.isNetworkConnected(this)) {
|
||||
Toast.makeText(this, "No Internet Connection", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
initializeLayout();
|
||||
|
||||
btnLogin.setOnClickListener(v -> {
|
||||
if (isValidate()) {
|
||||
/*loginViewModel.isUserAuthenticated(tfEmail.getText().toString().trim(),
|
||||
tfPassword.getText().toString(),
|
||||
new String[]{"ROLE_UIM_QC_APP_ACCESS_YES"});*/
|
||||
|
||||
Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), true);
|
||||
Preference.setMyStringPref(Helper.project_file,Helper.logInUser,this,tfEmail.getText().toString());
|
||||
|
||||
Intent intent = new Intent(this, DashboardActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void initializeLayout() {
|
||||
tfEmail = findViewById(R.id.tf_email);
|
||||
tfPassword = findViewById(R.id.tf_password);
|
||||
btnLogin = findViewById(R.id.btn_login);
|
||||
apiService = ApiServiceFactory.getApiService();
|
||||
|
||||
//tfEmail.setText("adnan.niaz");
|
||||
//tfPassword.setText("Utopia01");
|
||||
|
||||
loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
|
||||
|
||||
loginViewModel.getLoadingState().observe(this, isLoading -> {
|
||||
if (isLoading != null && isLoading) {
|
||||
showProgressDialog();
|
||||
} else {
|
||||
dismissProgressDialog();
|
||||
}
|
||||
});
|
||||
|
||||
loginViewModel.getErrorMessage().observe(this, errorResponse -> {
|
||||
if (errorResponse.isEmpty()) {
|
||||
Toast.makeText(this, "Something went wrong", Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
Toast.makeText(this, errorResponse, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
loginViewModel.getLoginUser().observe(this, loginUser -> {
|
||||
if (loginUser) {
|
||||
Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), true);
|
||||
Preference.setMyStringPref(Helper.project_file,Helper.logInUser,this,tfEmail.getText().toString());
|
||||
|
||||
Intent intent = new Intent(this, DashboardActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
}
|
||||
else {
|
||||
Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
|
||||
/*loginViewModel.getUserLiveData().observe(this, user -> {
|
||||
if (user != null) {
|
||||
Preference.setMyBooleanPref(Helper.project_file, "isLoggedIn", getApplicationContext(), true);
|
||||
Helper.setPreferenceObject(getApplicationContext(), user, "DriverResponse");
|
||||
|
||||
//Toast.makeText(this, "Welcome " + user.getTruckerName(), Toast.LENGTH_SHORT).show();
|
||||
Intent intent = new Intent(this, HomeActivity.class);
|
||||
startActivity(intent);
|
||||
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
|
||||
finish();
|
||||
} else {
|
||||
Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});*/
|
||||
}
|
||||
|
||||
public boolean isValidate() {
|
||||
boolean returnValue = true;
|
||||
String message = "";
|
||||
|
||||
if (tfPassword.getText().toString().isEmpty()) {
|
||||
message = "Please enter password.";
|
||||
returnValue = false;
|
||||
}
|
||||
|
||||
/*if (!Helper.isValidEmail(tfEmail.getText().toString())) {
|
||||
message = "Please enter valid email.";
|
||||
returnValue = false;
|
||||
}*/
|
||||
|
||||
if (tfEmail.getText().toString().isEmpty()) {
|
||||
message = "Please enter user name.";
|
||||
returnValue = false;
|
||||
}
|
||||
|
||||
if (!returnValue) {
|
||||
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
public void showProgressDialog() {
|
||||
ProgressDialogFragment progressDialog = new ProgressDialogFragment();
|
||||
progressDialog.setCancelable(false);
|
||||
progressDialog.show(getSupportFragmentManager(), "progressDialog");
|
||||
}
|
||||
|
||||
public void dismissProgressDialog() {
|
||||
ProgressDialogFragment progressDialog = (ProgressDialogFragment) getSupportFragmentManager().findFragmentByTag("progressDialog");
|
||||
if (progressDialog != null) {
|
||||
progressDialog.dismiss();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
package com.utopiaindustries.hseobservationsapp.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
import com.utopiaindustries.hseobservationsapp.fragments.DraftFragment;
|
||||
import com.utopiaindustries.hseobservationsapp.fragments.HomeFragment;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public class PagerAdapter extends FragmentStatePagerAdapter {
|
||||
|
||||
String tabTitles[] = new String[]{"Home", "Draft"};
|
||||
Context context;
|
||||
|
||||
public PagerAdapter(FragmentManager fm, Context context) {
|
||||
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
public int[] tabIcons = {
|
||||
R.drawable.icon_tab_home,
|
||||
R.drawable.icon_tab_drafts
|
||||
};
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return tabTitles.length;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
|
||||
switch (position) {
|
||||
case 0:
|
||||
return new HomeFragment();
|
||||
case 1:
|
||||
return new DraftFragment();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence getPageTitle(int position) {
|
||||
// Generate title based on item position
|
||||
// return tabTitles[position];
|
||||
return null;
|
||||
}
|
||||
|
||||
public View getTabView(int position) {
|
||||
View tab = LayoutInflater.from(context).inflate(R.layout.custom_tab, null);
|
||||
|
||||
TextView tv = (TextView) tab.findViewById(R.id.txt_name);
|
||||
ImageView imgView = (ImageView) tab.findViewById(R.id.imgView);
|
||||
tv.setText(tabTitles[position]);
|
||||
imgView.setBackgroundResource(tabIcons[position]);
|
||||
|
||||
// tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, context.getResources().getDimension(R.dimen.tab_text_size));
|
||||
|
||||
return tab;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package com.utopiaindustries.hseobservationsapp.apiservice;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.models.QualityControl;
|
||||
import com.utopiaindustries.hseobservationsapp.models.QualityControlResponse;
|
||||
import com.utopiaindustries.hseobservationsapp.models.QualitySaveResponse;
|
||||
|
||||
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/uic/quality-control/get-quality-control-data")
|
||||
Call<QualityControlResponse> getQualityControlData();
|
||||
|
||||
|
||||
@POST("rest/uic/quality-control/save-quality-control")
|
||||
Call<QualitySaveResponse> saveQualityControlReport(
|
||||
@Body QualityControl request
|
||||
);
|
||||
|
||||
@POST("rest/authentication/authenticate-user")
|
||||
Call<Boolean> isUserAuthenticated(
|
||||
@Query("username") String username,
|
||||
@Query("password") String password,
|
||||
@Query("roles") String[] roles
|
||||
);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package com.utopiaindustries.hseobservationsapp.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,49 @@
|
|||
package com.utopiaindustries.hseobservationsapp.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 {
|
||||
|
||||
//Live url
|
||||
//private final static String BASE_URL = "https://portal.utopiaindustries.pk/uind/";
|
||||
|
||||
//Test Url
|
||||
private final static String BASE_URL = "http://192.168.91.44:8081/uind/";
|
||||
|
||||
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,27 @@
|
|||
package com.utopiaindustries.hseobservationsapp.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
|
||||
public class DraftFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_draft, container, false);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.utopiaindustries.hseobservationsapp.fragments;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.Fragment;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
|
||||
public class HomeFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_home, container, false);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
package com.utopiaindustries.hseobservationsapp.helper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Helper {
|
||||
|
||||
public static final String project_file = "Quality-Control";
|
||||
|
||||
public static final String departmentId = "departId";
|
||||
public static final String departmentName = "departName";
|
||||
public static final String locationSiteId = "locationSiteId";
|
||||
public static final String locationSiteName = "locationSiteName";
|
||||
public static final String unitId = "unitId";
|
||||
public static final String unitName = "unitName";
|
||||
public static final String floorId = "floorId";
|
||||
public static final String floorName = "floorName";
|
||||
|
||||
public static final String logInUser = "LogInUser";
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
static public void setPreferenceObject(Context c, Object modal, String key) {
|
||||
|
||||
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(c.getApplicationContext());
|
||||
SharedPreferences.Editor prefsEditor = appSharedPrefs.edit();
|
||||
|
||||
Gson gson = new Gson();
|
||||
String jsonObject = gson.toJson(modal);
|
||||
prefsEditor.putString(key, jsonObject);
|
||||
prefsEditor.commit();
|
||||
}
|
||||
|
||||
/*static public QualityControlResponse getPreferenceObjectJson(Context c, String key) {
|
||||
|
||||
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(c.getApplicationContext());
|
||||
|
||||
String json = appSharedPrefs.getString(key, "");
|
||||
Gson gson = new Gson();
|
||||
QualityControlResponse selectedUser = gson.fromJson(json, QualityControlResponse.class);
|
||||
return selectedUser;
|
||||
}*/
|
||||
|
||||
/*static public void saveArrayList(List<ItemModel> list, String key, Context context){
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
Gson gson = new Gson();
|
||||
String json = gson.toJson(list);
|
||||
editor.putString(key, json);
|
||||
editor.apply();
|
||||
|
||||
}*/
|
||||
|
||||
/*static public List<ItemModel> getArrayList(String key, Context context){
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
// Check if the key exists
|
||||
if (!prefs.contains(key)) {
|
||||
return null; // Return null if the key doesn't exist
|
||||
}
|
||||
|
||||
Gson gson = new Gson();
|
||||
String json = prefs.getString(key, null);
|
||||
Type type = new TypeToken<ArrayList<ItemModel>>() {}.getType();
|
||||
return gson.fromJson(json, type);
|
||||
}*/
|
||||
|
||||
static public void RemoveArrayList(String key, Context context) {
|
||||
if (context != null) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
if (prefs.contains(key)) { // Check if the key exists
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.remove(key); // Remove the key-value pair
|
||||
editor.apply(); // Apply changes
|
||||
///Log.e("SharedPreferences", "Key '" + key + "' removed successfully.");
|
||||
} else {
|
||||
Log.e("SharedPreferences", "Key '" + key + "' does not exist.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//for department, site, unit, floor
|
||||
public static <T> void saveList(List<T> list, String key, Context context) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
Gson gson = new Gson();
|
||||
String json = gson.toJson(list); // Convert the list to JSON
|
||||
editor.putString(key, json);
|
||||
editor.apply(); // Save to SharedPreferences
|
||||
}
|
||||
|
||||
public static <T> List<T> getList(String key, Context context, Class<T> clazz) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
|
||||
// Check if the key exists
|
||||
if (!prefs.contains(key)) {
|
||||
return new ArrayList<>(); // Return an empty list if the key doesn't exist
|
||||
}
|
||||
|
||||
Gson gson = new Gson();
|
||||
String json = prefs.getString(key, null);
|
||||
Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type
|
||||
return gson.fromJson(json, type); // Convert JSON back to the list
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
package com.utopiaindustries.hseobservationsapp.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..
|
||||
if (context != null) {
|
||||
if (getPrefs(fileName,context).contains(key)) {
|
||||
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,177 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class Department {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("companyId")
|
||||
@Expose
|
||||
private Integer companyId;
|
||||
@SerializedName("functionId")
|
||||
@Expose
|
||||
private Integer functionId;
|
||||
@SerializedName("title")
|
||||
@Expose
|
||||
private String title;
|
||||
@SerializedName("organization")
|
||||
@Expose
|
||||
private String organization;
|
||||
@SerializedName("code")
|
||||
@Expose
|
||||
private Integer code;
|
||||
@SerializedName("email")
|
||||
@Expose
|
||||
private Object email;
|
||||
@SerializedName("isActive")
|
||||
@Expose
|
||||
private Boolean isActive;
|
||||
@SerializedName("sections")
|
||||
@Expose
|
||||
private Object sections;
|
||||
@SerializedName("hierarchyString")
|
||||
@Expose
|
||||
private Object hierarchyString;
|
||||
@SerializedName("costCenters")
|
||||
@Expose
|
||||
private Object costCenters;
|
||||
@SerializedName("locationSites")
|
||||
@Expose
|
||||
private Object locationSites;
|
||||
@SerializedName("departmentLocationSites")
|
||||
@Expose
|
||||
private Object departmentLocationSites;
|
||||
@SerializedName("utilitySubMeterDepartments")
|
||||
@Expose
|
||||
private List<Object> utilitySubMeterDepartments;
|
||||
@SerializedName("capitalizedTitle")
|
||||
@Expose
|
||||
private String capitalizedTitle;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public Integer getCompanyId() {
|
||||
return companyId;
|
||||
}
|
||||
|
||||
public void setCompanyId(Integer companyId) {
|
||||
this.companyId = companyId;
|
||||
}
|
||||
|
||||
public Integer getFunctionId() {
|
||||
return functionId;
|
||||
}
|
||||
|
||||
public void setFunctionId(Integer functionId) {
|
||||
this.functionId = functionId;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getOrganization() {
|
||||
return organization;
|
||||
}
|
||||
|
||||
public void setOrganization(String organization) {
|
||||
this.organization = organization;
|
||||
}
|
||||
|
||||
public Integer getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(Integer code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public Object getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(Object email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public Boolean getIsActive() {
|
||||
return isActive;
|
||||
}
|
||||
|
||||
public void setIsActive(Boolean isActive) {
|
||||
this.isActive = isActive;
|
||||
}
|
||||
|
||||
public Object getSections() {
|
||||
return sections;
|
||||
}
|
||||
|
||||
public void setSections(Object sections) {
|
||||
this.sections = sections;
|
||||
}
|
||||
|
||||
public Object getHierarchyString() {
|
||||
return hierarchyString;
|
||||
}
|
||||
|
||||
public void setHierarchyString(Object hierarchyString) {
|
||||
this.hierarchyString = hierarchyString;
|
||||
}
|
||||
|
||||
public Object getCostCenters() {
|
||||
return costCenters;
|
||||
}
|
||||
|
||||
public void setCostCenters(Object costCenters) {
|
||||
this.costCenters = costCenters;
|
||||
}
|
||||
|
||||
public Object getLocationSites() {
|
||||
return locationSites;
|
||||
}
|
||||
|
||||
public void setLocationSites(Object locationSites) {
|
||||
this.locationSites = locationSites;
|
||||
}
|
||||
|
||||
public Object getDepartmentLocationSites() {
|
||||
return departmentLocationSites;
|
||||
}
|
||||
|
||||
public void setDepartmentLocationSites(Object departmentLocationSites) {
|
||||
this.departmentLocationSites = departmentLocationSites;
|
||||
}
|
||||
|
||||
public List<Object> getUtilitySubMeterDepartments() {
|
||||
return utilitySubMeterDepartments;
|
||||
}
|
||||
|
||||
public void setUtilitySubMeterDepartments(List<Object> utilitySubMeterDepartments) {
|
||||
this.utilitySubMeterDepartments = utilitySubMeterDepartments;
|
||||
}
|
||||
|
||||
public String getCapitalizedTitle() {
|
||||
return capitalizedTitle;
|
||||
}
|
||||
|
||||
public void setCapitalizedTitle(String capitalizedTitle) {
|
||||
this.capitalizedTitle = capitalizedTitle;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.utopiaindustries.hseobservationsapp.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,93 @@
|
|||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ItemModel {
|
||||
|
||||
private int processId;
|
||||
private int stepId;
|
||||
private double rating;
|
||||
private String percentage;
|
||||
private String remarks;
|
||||
private int selectedOption;
|
||||
private byte[] imageByteArray;
|
||||
private List<byte[]> files;
|
||||
|
||||
public ItemModel() {
|
||||
}
|
||||
|
||||
public ItemModel(int processId, int stepId, double rating, String percentage, String remarks, int selectedOption, byte[] imageByteArray, List<byte[]> imageArrayList) {
|
||||
this.processId = processId;
|
||||
this.stepId = stepId;
|
||||
this.rating = rating;
|
||||
this.percentage = percentage;
|
||||
this.remarks = remarks;
|
||||
this.selectedOption = selectedOption;
|
||||
this.imageByteArray = imageByteArray;
|
||||
this.files = imageArrayList;
|
||||
}
|
||||
|
||||
public int getProcessId() {
|
||||
return processId;
|
||||
}
|
||||
|
||||
public void setProcessId(int processId) {
|
||||
this.processId = processId;
|
||||
}
|
||||
|
||||
public int getStepId() {
|
||||
return stepId;
|
||||
}
|
||||
|
||||
public void setStepId(int stepId) {
|
||||
this.stepId = stepId;
|
||||
}
|
||||
|
||||
public String getPercentage() {
|
||||
return percentage;
|
||||
}
|
||||
|
||||
public void setPercentage(String percentage) {
|
||||
this.percentage = percentage;
|
||||
}
|
||||
|
||||
public String getRemarks() {
|
||||
return remarks;
|
||||
}
|
||||
|
||||
public void setRemarks(String remarks) {
|
||||
this.remarks = remarks;
|
||||
}
|
||||
|
||||
public int getSelectedOption() {
|
||||
return selectedOption;
|
||||
}
|
||||
|
||||
public void setSelectedOption(int selectedOption) {
|
||||
this.selectedOption = selectedOption;
|
||||
}
|
||||
|
||||
public double getRating() {
|
||||
return rating;
|
||||
}
|
||||
|
||||
public void setRating(double rating) {
|
||||
this.rating = rating;
|
||||
}
|
||||
|
||||
public byte[] getImageUri() {
|
||||
return imageByteArray;
|
||||
}
|
||||
|
||||
public void setImageUri(byte[] imageUri) {
|
||||
this.imageByteArray = imageUri;
|
||||
}
|
||||
|
||||
public List<byte[]> getImageArrayList() {
|
||||
return files;
|
||||
}
|
||||
|
||||
public void setImageArrayList(List<byte[]> imageArrayList) {
|
||||
this.files = imageArrayList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class LocationFloor {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("title")
|
||||
@Expose
|
||||
private String title;
|
||||
@SerializedName("siteId")
|
||||
@Expose
|
||||
private Integer siteId;
|
||||
@SerializedName("unitId")
|
||||
@Expose
|
||||
private Integer unitId;
|
||||
@SerializedName("stores")
|
||||
@Expose
|
||||
private Object stores;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public Integer getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setSiteId(Integer siteId) {
|
||||
this.siteId = siteId;
|
||||
}
|
||||
|
||||
public Integer getUnitId() {
|
||||
return unitId;
|
||||
}
|
||||
|
||||
public void setUnitId(Integer unitId) {
|
||||
this.unitId = unitId;
|
||||
}
|
||||
|
||||
public Object getStores() {
|
||||
return stores;
|
||||
}
|
||||
|
||||
public void setStores(Object stores) {
|
||||
this.stores = stores;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return title;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class LocationSite {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("title")
|
||||
@Expose
|
||||
private String title;
|
||||
@SerializedName("shortTitle")
|
||||
@Expose
|
||||
private String shortTitle;
|
||||
@SerializedName("address")
|
||||
@Expose
|
||||
private String address;
|
||||
@SerializedName("hasColony")
|
||||
@Expose
|
||||
private Boolean hasColony;
|
||||
@SerializedName("units")
|
||||
@Expose
|
||||
private Object units;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getShortTitle() {
|
||||
return shortTitle;
|
||||
}
|
||||
|
||||
public void setShortTitle(String shortTitle) {
|
||||
this.shortTitle = shortTitle;
|
||||
}
|
||||
|
||||
public String getAddress() {
|
||||
return address;
|
||||
}
|
||||
|
||||
public void setAddress(String address) {
|
||||
this.address = address;
|
||||
}
|
||||
|
||||
public Boolean getHasColony() {
|
||||
return hasColony;
|
||||
}
|
||||
|
||||
public void setHasColony(Boolean hasColony) {
|
||||
this.hasColony = hasColony;
|
||||
}
|
||||
|
||||
public Object getUnits() {
|
||||
return units;
|
||||
}
|
||||
|
||||
public void setUnits(Object units) {
|
||||
this.units = units;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return title;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class LocationUnit {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("title")
|
||||
@Expose
|
||||
private String title;
|
||||
@SerializedName("siteId")
|
||||
@Expose
|
||||
private Integer siteId;
|
||||
@SerializedName("floors")
|
||||
@Expose
|
||||
private Object floors;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public Integer getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setSiteId(Integer siteId) {
|
||||
this.siteId = siteId;
|
||||
}
|
||||
|
||||
public Object getFloors() {
|
||||
return floors;
|
||||
}
|
||||
|
||||
public void setFloors(Object floors) {
|
||||
this.floors = floors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return title;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class QualityControl {
|
||||
|
||||
private String generatedBy;
|
||||
private int siteId;
|
||||
private int unitId;
|
||||
private int departmentId;
|
||||
private int floorId;
|
||||
private List<ItemModel> qualityControlItemList;
|
||||
|
||||
public QualityControl(String generatedBy, int siteId, int unitId, int departmentId, int floorId, List<ItemModel> qualityControlItemList) {
|
||||
this.generatedBy = generatedBy;
|
||||
this.siteId = siteId;
|
||||
this.unitId = unitId;
|
||||
this.departmentId = departmentId;
|
||||
this.floorId = floorId;
|
||||
this.qualityControlItemList = qualityControlItemList;
|
||||
}
|
||||
|
||||
public String getGeneratedBy() {
|
||||
return generatedBy;
|
||||
}
|
||||
|
||||
public void setGeneratedBy(String generatedBy) {
|
||||
this.generatedBy = generatedBy;
|
||||
}
|
||||
|
||||
public int getSiteId() {
|
||||
return siteId;
|
||||
}
|
||||
|
||||
public void setSiteId(int siteId) {
|
||||
this.siteId = siteId;
|
||||
}
|
||||
|
||||
public int getUnitId() {
|
||||
return unitId;
|
||||
}
|
||||
|
||||
public void setUnitId(int unitId) {
|
||||
this.unitId = unitId;
|
||||
}
|
||||
|
||||
public int getDepartmentId() {
|
||||
return departmentId;
|
||||
}
|
||||
|
||||
public void setDepartmentId(int departmentId) {
|
||||
this.departmentId = departmentId;
|
||||
}
|
||||
|
||||
public int getFloorId() {
|
||||
return floorId;
|
||||
}
|
||||
|
||||
public void setFloorId(int floorId) {
|
||||
this.floorId = floorId;
|
||||
}
|
||||
|
||||
public List<ItemModel> getQualityControlItemList() {
|
||||
return qualityControlItemList;
|
||||
}
|
||||
|
||||
public void setQualityControlItemList(List<ItemModel> qualityControlItemList) {
|
||||
this.qualityControlItemList = qualityControlItemList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class QualityControlProcess {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("name")
|
||||
@Expose
|
||||
private String name;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
|
||||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
public class QualityControlProcessStep {
|
||||
|
||||
@SerializedName("id")
|
||||
@Expose
|
||||
private Integer id;
|
||||
@SerializedName("title")
|
||||
@Expose
|
||||
private String title;
|
||||
@SerializedName("description")
|
||||
@Expose
|
||||
private String description;
|
||||
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,77 @@
|
|||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class QualityControlResponse {
|
||||
|
||||
@SerializedName("locationUnits")
|
||||
@Expose
|
||||
private List<LocationUnit> locationUnits;
|
||||
@SerializedName("locationFloors")
|
||||
@Expose
|
||||
private List<LocationFloor> locationFloors;
|
||||
@SerializedName("qualityControlProcessSteps")
|
||||
@Expose
|
||||
private List<QualityControlProcessStep> qualityControlProcessSteps;
|
||||
@SerializedName("locationSites")
|
||||
@Expose
|
||||
private List<LocationSite> locationSites;
|
||||
@SerializedName("departments")
|
||||
@Expose
|
||||
private List<Department> departments;
|
||||
@SerializedName("qualityControlProcessList")
|
||||
@Expose
|
||||
private List<QualityControlProcess> qualityControlProcessList;
|
||||
|
||||
public List<LocationUnit> getLocationUnits() {
|
||||
return locationUnits;
|
||||
}
|
||||
|
||||
public void setLocationUnits(List<LocationUnit> locationUnits) {
|
||||
this.locationUnits = locationUnits;
|
||||
}
|
||||
|
||||
|
||||
public List<LocationFloor> getLocationFloors() {
|
||||
return locationFloors;
|
||||
}
|
||||
|
||||
public void setLocationFloors(List<LocationFloor> locationFloors) {
|
||||
this.locationFloors = locationFloors;
|
||||
}
|
||||
|
||||
public List<QualityControlProcessStep> getQualityControlProcessSteps() {
|
||||
return qualityControlProcessSteps;
|
||||
}
|
||||
|
||||
public void setQualityControlProcessSteps(List<QualityControlProcessStep> qualityControlProcessSteps) {
|
||||
this.qualityControlProcessSteps = qualityControlProcessSteps;
|
||||
}
|
||||
|
||||
public List<LocationSite> getLocationSites() {
|
||||
return locationSites;
|
||||
}
|
||||
|
||||
public void setLocationSites(List<LocationSite> locationSites) {
|
||||
this.locationSites = locationSites;
|
||||
}
|
||||
|
||||
public List<Department> getDepartments() {
|
||||
return departments;
|
||||
}
|
||||
|
||||
public void setDepartments(List<Department> departments) {
|
||||
this.departments = departments;
|
||||
}
|
||||
|
||||
public List<QualityControlProcess> getQualityControlProcessList() {
|
||||
return qualityControlProcessList;
|
||||
}
|
||||
|
||||
public void setQualityControlProcessList(List<QualityControlProcess> qualityControlProcessList) {
|
||||
this.qualityControlProcessList = qualityControlProcessList;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
package com.utopiaindustries.hseobservationsapp.models;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class QualitySaveResponse implements Serializable {
|
||||
|
||||
@SerializedName("overAllPercentage")
|
||||
@Expose
|
||||
private String overAllPercentage;
|
||||
|
||||
@SerializedName("status")
|
||||
@Expose
|
||||
private String status;
|
||||
|
||||
@SerializedName("message")
|
||||
@Expose
|
||||
private String message;
|
||||
|
||||
@SerializedName("Cutting")
|
||||
@Expose
|
||||
private String Cutting;
|
||||
|
||||
@SerializedName("Stiching")
|
||||
@Expose
|
||||
private String Stiching;
|
||||
|
||||
@SerializedName("Checking")
|
||||
@Expose
|
||||
private String Checking;
|
||||
|
||||
@SerializedName("Packing")
|
||||
@Expose
|
||||
private String Packing;
|
||||
|
||||
@SerializedName("Sub Store")
|
||||
@Expose
|
||||
private String Sub_Store;
|
||||
|
||||
@SerializedName("code")
|
||||
@Expose
|
||||
private String ReportId;
|
||||
|
||||
public String getOverAllPercentage() {
|
||||
return overAllPercentage;
|
||||
}
|
||||
|
||||
public void setOverAllPercentage(String overAllPercentage) {
|
||||
this.overAllPercentage = overAllPercentage;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getCutting() {
|
||||
return Cutting;
|
||||
}
|
||||
|
||||
public void setCutting(String cutting) {
|
||||
Cutting = cutting;
|
||||
}
|
||||
|
||||
public String getStiching() {
|
||||
return Stiching;
|
||||
}
|
||||
|
||||
public void setStiching(String stiching) {
|
||||
Stiching = stiching;
|
||||
}
|
||||
|
||||
public String getChecking() {
|
||||
return Checking;
|
||||
}
|
||||
|
||||
public void setChecking(String checking) {
|
||||
Checking = checking;
|
||||
}
|
||||
|
||||
public String getPacking() {
|
||||
return Packing;
|
||||
}
|
||||
|
||||
public void setPacking(String packing) {
|
||||
Packing = packing;
|
||||
}
|
||||
|
||||
public String getSub_Store() {
|
||||
return Sub_Store;
|
||||
}
|
||||
|
||||
public void setSub_Store(String sub_Store) {
|
||||
Sub_Store = sub_Store;
|
||||
}
|
||||
|
||||
public String getReportId() {
|
||||
return ReportId;
|
||||
}
|
||||
|
||||
public void setReportId(String reportId) {
|
||||
ReportId = reportId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package com.utopiaindustries.hseobservationsapp.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
/**
|
||||
* Created by Development on 05-Oct-2021.
|
||||
*/
|
||||
public class NonSwipeableViewPager extends ViewPager
|
||||
{
|
||||
public NonSwipeableViewPager(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public NonSwipeableViewPager(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onInterceptTouchEvent(MotionEvent event) {
|
||||
// Never allow swiping to switch between pages
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent event) {
|
||||
// Never allow swiping to switch between pages
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.utopiaindustries.hseobservationsapp.utils;
|
||||
|
||||
import android.content.DialogInterface;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.R;
|
||||
|
||||
public class ProgressDialogFragment extends DialogFragment {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.dialog_progress, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if (getDialog() != null && getDialog().getWindow() != null) {
|
||||
getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
getDialog().getWindow().setBackgroundDrawableResource(android.R.color.transparent);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel(@NonNull DialogInterface dialog) {
|
||||
// Prevent the dialog from being canceled when touched outside
|
||||
setCancelable(false);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package com.utopiaindustries.hseobservationsapp.viewmodels;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
|
||||
import com.utopiaindustries.hseobservationsapp.apiservice.ApiService;
|
||||
import com.utopiaindustries.hseobservationsapp.apiservice.ApiServiceFactory;
|
||||
import com.utopiaindustries.hseobservationsapp.models.QualityControlResponse;
|
||||
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
public class LoginViewModel extends ViewModel {
|
||||
|
||||
private MutableLiveData<QualityControlResponse> userLiveData;
|
||||
private MutableLiveData<Boolean> userLoginLiveData;
|
||||
private MutableLiveData<String> errorLiveData;
|
||||
private MutableLiveData<Boolean> isLoading;
|
||||
private ApiService apiService;
|
||||
|
||||
public LoginViewModel() {
|
||||
apiService = ApiServiceFactory.getApiService();
|
||||
userLiveData = new MutableLiveData<>();
|
||||
userLoginLiveData = 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 isUserAuthenticated(String username, String password, String[] roles) {
|
||||
isLoading.setValue(true);
|
||||
apiService.isUserAuthenticated(username, password, roles).enqueue(new Callback<Boolean>() {
|
||||
@Override
|
||||
public void onResponse(@NonNull Call<Boolean> call, @NonNull Response<Boolean> response) {
|
||||
isLoading.setValue(false);
|
||||
//Log.e("onResponse-1: ", "Successful: "+response);
|
||||
if (response.isSuccessful() && response.body() != null) {
|
||||
//Log.e("onResponse-2: ", "Successful: "+response);
|
||||
userLoginLiveData.setValue(response.body());
|
||||
} else {
|
||||
userLoginLiveData.setValue(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<Boolean> call, @NonNull Throwable t) {
|
||||
//Log.e("onResponse-2: ", "failed"+t.getMessage());
|
||||
isLoading.setValue(false);
|
||||
errorLiveData.setValue(t.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public LiveData<Boolean> getLoginUser() {
|
||||
return userLoginLiveData;
|
||||
}
|
||||
|
||||
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,9 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="8dp" />
|
||||
<solid android:color="@color/theme_color" />
|
||||
<padding
|
||||
android:bottom="10dp"
|
||||
android:left="10dp"
|
||||
android:right="10dp"
|
||||
android:top="10dp" />
|
||||
</shape>
|
|
@ -0,0 +1,17 @@
|
|||
<!-- res/drawable/dropdown_item_bg.xml -->
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Pressed state -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#E0E0E0" /> <!-- Light gray background for pressed state -->
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
<!-- Default state -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#FFFFFF" /> <!-- White background for default state -->
|
||||
<stroke android:width="1dp" android:color="#BDBDBD" /> <!-- Optional border -->
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
|
@ -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,8 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke
|
||||
android:width="0.5dp"
|
||||
android:color="@color/grey_600" />
|
||||
|
||||
<corners
|
||||
android:radius="5dp"/>
|
||||
</shape>
|
After Width: | Height: | Size: 28 KiB |
|
@ -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,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#D3D3D3" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z"/>
|
||||
|
||||
</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: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="M17,7l-1.41,1.41L18.17,11H8v2h10.17l-2.58,2.58L17,17l5,-5zM4,5h8V3H4c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h8v-2H4V5z"/>
|
||||
|
||||
</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="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
|
||||
|
||||
</vector>
|
After Width: | Height: | Size: 215 B |
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#808080" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M21.99,8c0,-0.72 -0.37,-1.35 -0.94,-1.7L12,1 2.95,6.3C2.38,6.65 2,7.28 2,8v10c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2l-0.01,-10zM12,13L3.74,7.84 12,3l8.26,4.84L12,13z"/>
|
||||
|
||||
</vector>
|
|
@ -0,0 +1,5 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#808080" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
|
||||
|
||||
</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>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/white" />
|
||||
<stroke
|
||||
android:width="2dp"
|
||||
android:color="@color/grey_400" />
|
||||
<corners android:radius="10dp" />
|
||||
<padding
|
||||
android:bottom="0dp"
|
||||
android:left="0dp"
|
||||
android:right="0dp"
|
||||
android:top="0dp" />
|
||||
</shape>
|
|
@ -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,82 @@
|
|||
<?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.DashboardActivity">
|
||||
|
||||
<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=" HSE App"
|
||||
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" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img_logout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/toolbar"
|
||||
app:layout_constraintEnd_toEndOf="@+id/toolbar"
|
||||
app:layout_constraintTop_toTopOf="@+id/toolbar"
|
||||
app:srcCompat="@drawable/ic_logout" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="409dp"
|
||||
android:layout_height="665dp"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginTop="1dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:layout_marginBottom="1dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/toolbar">
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:tabMaxWidth="0dp"
|
||||
app:tabGravity="fill"
|
||||
app:tabMode="fixed"
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
||||
<com.utopiaindustries.hseobservationsapp.utils.NonSwipeableViewPager
|
||||
android:id="@+id/viewpager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/tab_layout"
|
||||
android:background="@color/white" />
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,90 @@
|
|||
<?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.LoginActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginTop="60dp"
|
||||
android:layout_marginEnd="1dp"
|
||||
android:background="@color/grey_100"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:src="@drawable/icon_hse" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:padding="5dp"
|
||||
android:text="Login Now to Continue"
|
||||
android:textSize="@dimen/_17sdp" />
|
||||
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tf_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:drawableStart="@drawable/ic_email"
|
||||
android:drawablePadding="5dp"
|
||||
android:drawableTint="@color/grey_700"
|
||||
android:hint="User"
|
||||
android:inputType="text" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
<com.google.android.material.textfield.TextInputLayout
|
||||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="5dp"
|
||||
app:passwordToggleEnabled="true">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tf_password"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:drawableStart="@drawable/ic_password"
|
||||
android:drawablePadding="5dp"
|
||||
android:drawableTint="@color/grey_700"
|
||||
android:hint="Password"
|
||||
android:inputType="textPassword" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_login"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:background="@drawable/rounded_btn_login"
|
||||
android:padding="10dp"
|
||||
android:text="Login"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_15sdp" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,87 @@
|
|||
<?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_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:background="@drawable/rounded_white"
|
||||
android:orientation="vertical"
|
||||
android:padding="15dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/message"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:paddingLeft="15dp"
|
||||
android:paddingRight="15dp"
|
||||
android:text="Are you sure you want to sign out?"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/_15sdp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:layout_marginTop="7dp"
|
||||
android:background="@color/white" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:weightSum="3">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialogCancelBtn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.495"
|
||||
android:gravity="center"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="15dp"
|
||||
android:background="@drawable/custom_button"
|
||||
android:text="No"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_14sdp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.05"
|
||||
android:background="@color/white"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="15dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/dialogOkBtn"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.495"
|
||||
android:gravity="center"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="15dp"
|
||||
android:text="Yes"
|
||||
android:textAllCaps="false"
|
||||
android:background="@drawable/custom_button"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_14sdp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,28 @@
|
|||
<?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"
|
||||
android:layout_margin="1dp"
|
||||
android:gravity="center"
|
||||
android:id="@+id/custom_tab"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imgView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/icon_tab_home"
|
||||
android:layout_margin="1dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txt_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="text"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="@dimen/_13sdp" />
|
||||
|
||||
</LinearLayout>
|
|
@ -0,0 +1,15 @@
|
|||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#80000000"> <!-- Semi-transparent dark background -->
|
||||
|
||||
<!-- Blur effect can be enhanced by using drawable with blur effect-->
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:indeterminateTint="@color/black"
|
||||
android:indeterminate="true" />
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,33 @@
|
|||
<?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.DraftFragment">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/draft_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/_13sdp"
|
||||
android:textColor="@color/black"
|
||||
android:text="Draft List"
|
||||
android:textAlignment="center" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/draft_recyclerview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@+id/draft_text"
|
||||
android:padding="16dp">
|
||||
|
||||
</androidx.recyclerview.widget.RecyclerView>
|
||||
</RelativeLayout>
|
||||
|
||||
</FrameLayout>
|
|
@ -0,0 +1,24 @@
|
|||
<?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.HomeFragment">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/draft_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="5dp"
|
||||
android:textStyle="bold"
|
||||
android:textSize="@dimen/_13sdp"
|
||||
android:textColor="@color/black"
|
||||
android:text="Home"
|
||||
android:textAlignment="center" />
|
||||
</RelativeLayout>
|
||||
|
||||
</FrameLayout>
|
|
@ -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.HSEObservationsApp" 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>
|