MIgrate to ODP-Core maven brnach
|
|
@ -3,7 +3,7 @@ plugins {
|
|||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 30
|
||||
compileSdkVersion 31
|
||||
buildToolsVersion "30.0.3"
|
||||
packagingOptions {
|
||||
exclude 'META-INF/LICENSE.txt'
|
||||
|
|
@ -12,7 +12,7 @@ android {
|
|||
defaultConfig {
|
||||
applicationId "eu.csc.vehown"
|
||||
minSdkVersion 26
|
||||
targetSdkVersion 30
|
||||
targetSdkVersion 31
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
multiDexEnabled true
|
||||
|
|
@ -23,8 +23,10 @@ android {
|
|||
annotationProcessorOptions {
|
||||
arguments += [
|
||||
"room.schemaLocation":"$projectDir/schemas".toString(),
|
||||
"room.incremental":"true",
|
||||
"room.expandProjection":"true"]
|
||||
//The following options were not recognized by any processor
|
||||
// "room.incremental":"true",
|
||||
// "room.expandProjection":"true"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -88,19 +90,19 @@ dependencies {
|
|||
implementation 'androidx.navigation:navigation-ui:2.3.5'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
implementation 'androidx.preference:preference:1.2.0'
|
||||
|
||||
implementation 'androidx.preference:preference:1.1.1'
|
||||
//implementation 'eu.csc.odpconfigurationserver:dto:1.0-SNAPSHOT'
|
||||
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
//Lombok
|
||||
implementation 'org.projectlombok:lombok:1.18.20'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.20'
|
||||
|
||||
androidTestImplementation 'org.projectlombok:lombok:1.18.20'
|
||||
testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
|
||||
//Lombok
|
||||
implementation "org.projectlombok:lombok:$lombok_Version"
|
||||
annotationProcessor "org.projectlombok:lombok:$lombok_Version"
|
||||
androidTestImplementation "org.projectlombok:lombok:$lombok_Version"
|
||||
testAnnotationProcessor "org.projectlombok:lombok:$lombok_Version"
|
||||
|
||||
//room
|
||||
implementation 'android.arch.persistence.room:runtime:1.1.1'
|
||||
|
|
@ -122,11 +124,8 @@ dependencies {
|
|||
// compile files('libs/org.eclipse.paho.client.mqttv3-1.1.1.jar')
|
||||
implementation 'com.android.support:multidex:1.0.3'
|
||||
|
||||
implementation 'eu.csc.core:coregtdm:1.0-SNAPSHOT'
|
||||
implementation files('libs/log4j-1.2.17.jar')
|
||||
//implementation files('libs/asnrt-2020.07.jar')
|
||||
|
||||
|
||||
implementation "eu.csc.core:coregtdm:$coregtdm_version" //was 1.0-SNAPSHOT
|
||||
implementation files('../libs/log4j-1.2.17.jar')
|
||||
|
||||
implementation project(":services:core")
|
||||
implementation project(":services:localstorage")
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
package eu.csc.vehown;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.runner.AndroidJUnit4;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
/**
|
||||
* Instrumented test, which will execute on an Android device.
|
||||
|
|
@ -19,8 +16,6 @@ import static org.junit.Assert.*;
|
|||
public class ExampleInstrumentedTest {
|
||||
@Test
|
||||
public void useAppContext() {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
|
||||
assertEquals("eu.csc.vehown", appContext.getPackageName());
|
||||
assertEquals("eu.csc.vehown", ApplicationProvider.getApplicationContext().getPackageName());
|
||||
}
|
||||
}
|
||||
|
|
@ -26,59 +26,9 @@ uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android
|
|||
android:theme="@style/Theme.VehicleOwner"
|
||||
android:usesCleartextTraffic="true"
|
||||
tools:targetApi="n">
|
||||
<activity
|
||||
android:name=".ui.events.EventItemListActivity"
|
||||
android:label="@string/title_eventitem_list"
|
||||
android:theme="@style/Theme.VehicleOwner.NoActionBar">
|
||||
<activity android:name=".ui.svi.DashboardActivity"
|
||||
android:theme="@style/Theme.VehicleOwner.NoActionBar">
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".ui.events.EventItemDetailActivity"
|
||||
android:label="@string/title_eventitem_detail"
|
||||
android:parentActivityName=".ui.events.EventItemListActivity"
|
||||
android:theme="@style/Theme.VehicleOwner.NoActionBar">
|
||||
<meta-data
|
||||
android:name="android.support.PARENT_ACTIVITY"
|
||||
android:value="eu.csc.vehown.ui.events.EventItemListActivity"/>
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".ui.settings.SettingsActivity"
|
||||
android:label="@string/title_activity_settings"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="eu.csc.app.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths"/>
|
||||
</provider>
|
||||
|
||||
<receiver android:name=".broadcast.VehicleEventReceivedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="eu.csc.vehown.EVENTINTENT"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".broadcast.StartupReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".ugp.UGPService"
|
||||
android:enabled="true"
|
||||
android:exported="true"/>
|
||||
<service
|
||||
android:name=".services.rest.UploadFileService"
|
||||
android:enabled="true"
|
||||
android:exported="true"/>
|
||||
<service android:name=".services.DataServiceIntent"/>
|
||||
|
||||
<activity
|
||||
android:name=".ui.main.MainActivity"
|
||||
android:label="@string/app_name"
|
||||
|
|
@ -117,9 +67,42 @@ uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android
|
|||
android:name=".ui.login.LoginActivity"
|
||||
android:label="@string/app_name"/>
|
||||
<activity
|
||||
android:name=".ui.test.Test3Activity"
|
||||
android:label="@string/title_activity_test3"
|
||||
android:theme="@style/Theme.VehicleOwner.NoActionBar"/>
|
||||
android:name=".ui.settings.SettingsActivity"
|
||||
android:label="@string/title_activity_settings"/>
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="eu.csc.app.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths"/>
|
||||
</provider>
|
||||
|
||||
<receiver android:name=".broadcast.VehicleEventReceivedReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="eu.csc.vehown.EVENTINTENT"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".broadcast.StartupReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<service
|
||||
android:name=".ugp.UGPService"
|
||||
android:enabled="true"
|
||||
android:exported="true"/>
|
||||
<service
|
||||
android:name=".services.rest.UploadFileService"
|
||||
android:enabled="true"
|
||||
android:exported="true"/>
|
||||
<service android:name=".services.DataServiceIntent"/>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
|
@ -1,8 +1,7 @@
|
|||
package eu.csc.vehown.services.persistence;
|
||||
|
||||
import asn.GTLease.Lease;
|
||||
import asn.GTMaintenance.Lease;
|
||||
import eu.csc.vehown.data.model.*;
|
||||
import eu.csc.vehown.persist.localstorage.ExampleVehicle;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
package eu.csc.vehown.services.rest;
|
||||
|
||||
import eu.csc.vehown.services.rest.dto.CustomLeaseGenDto;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.http.Body;
|
||||
import retrofit2.http.POST;
|
||||
|
||||
public interface LeaseApiClient {
|
||||
|
||||
@POST("api/leasgen/custom")
|
||||
Call<ResponseBody> customLease(@Body CustomLeaseGenDto dto);
|
||||
}
|
||||
|
|
@ -12,6 +12,7 @@ import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
|
|||
import retrofit2.converter.gson.GsonConverterFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
|
||||
public class RetrofitApiClientFactory {
|
||||
|
||||
|
|
@ -24,6 +25,19 @@ public class RetrofitApiClientFactory {
|
|||
|
||||
|
||||
|
||||
public static LeaseApiClient getLeaseClient(String url) {
|
||||
|
||||
Retrofit retrofit = new Retrofit.Builder()
|
||||
.baseUrl(url)
|
||||
.addConverterFactory(GsonConverterFactory.create(JSONHelper.getGson()))
|
||||
|
||||
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||
.build();
|
||||
|
||||
|
||||
return retrofit.create(LeaseApiClient.class);
|
||||
}
|
||||
|
||||
|
||||
public static RetrofitApiClient getClient(Context context) {
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
package eu.csc.vehown.services.rest.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
public class CustomLeaseGenDto {
|
||||
|
||||
private String token;
|
||||
|
||||
private String issuer;
|
||||
|
||||
private String user;
|
||||
|
||||
private Long startTime;
|
||||
|
||||
private Long expirationTime;
|
||||
|
||||
private List<String> systems;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -11,10 +11,10 @@ import asn.GTDF.DtcInfo;
|
|||
import asn.GTDF.IdentifierType;
|
||||
import asn.GTP.ActionType;
|
||||
import asn.GTP.SessionType;
|
||||
import eu.csc.data.IDataConsts;
|
||||
import eu.csc.asn.GTException;
|
||||
import eu.csc.gtdm.ConfigException;
|
||||
import eu.csc.gtdm.ConfigProvider;
|
||||
import eu.csc.gtdm.GTException;
|
||||
import eu.csc.gtdm.ICoreConsts;
|
||||
import eu.csc.gtp.IGTPCnfNegative;
|
||||
import eu.csc.gtp.IGTPCnfPositive;
|
||||
import eu.csc.gtp.IGTPCnfPublishDtc;
|
||||
|
|
@ -31,7 +31,7 @@ import java.util.Locale;
|
|||
|
||||
import static eu.csc.vehown.ui.modal.Helper.errorDialog;
|
||||
|
||||
public class UGPService extends Service implements IDataConsts, Runnable {
|
||||
public class UGPService extends Service implements ICoreConsts, Runnable {
|
||||
|
||||
public static final String HOST = "host";
|
||||
private static final CSCLog LOG = CSCLogFactory.getLog(UGPService.class);
|
||||
|
|
@ -103,9 +103,9 @@ public class UGPService extends Service implements IDataConsts, Runnable {
|
|||
@Override
|
||||
public void run() {
|
||||
System.setProperty("gtdm.odp", this.getExternalFilesDir(null).getAbsolutePath());
|
||||
cp = ConfigProvider.get();
|
||||
cp = ConfigProvider.getOrCreate();
|
||||
try {
|
||||
cp.readGeneralConfigs(false);
|
||||
cp.readGTBasicGeneralConfigs(false);
|
||||
File dirCerts = new File(cp.getDirCurrent(), "certs");
|
||||
ugpClient = new UGPClient(dirCerts, certName, host, PORT_UGP, 0);
|
||||
ugpClient.startIt(null);
|
||||
|
|
@ -155,11 +155,11 @@ public class UGPService extends Service implements IDataConsts, Runnable {
|
|||
};
|
||||
|
||||
private Event createEvent(DtcInfo d) {
|
||||
String id = cp.getDtcBaseName(locale, d.getDtcBaseId(), NameType.shortname);
|
||||
String id = cp.getDtcBaseName(locale, d.getDtcBaseId(), NameType.SHORTNAME);
|
||||
Event e = new Event(id);
|
||||
e.setId(id);
|
||||
e.setDescription(cp.getDtcBaseName(Locale.ENGLISH, d.getDtcBaseId(), NameType.longname));
|
||||
e.setEcuId(cp.getName(locale, IdentifierType.ecu, d.getEcuId(), NameType.shortname));
|
||||
e.setDescription(cp.getDtcBaseName(Locale.ENGLISH, d.getDtcBaseId(), NameType.LONGNAME));
|
||||
e.setEcuId(cp.getName(locale, IdentifierType.ecu, d.getEcuId(), NameType.SHORTNAME));
|
||||
e.setVehicle(vehicle);
|
||||
e.setTimestamp(d.getTimestamp());
|
||||
if (d.getStatus().getConfirmedDTC()) {
|
||||
|
|
|
|||
|
|
@ -25,8 +25,10 @@ import eu.csc.vehown.services.notifications.NotificationService;
|
|||
import eu.csc.vehown.ugp.WifiConnectedReceiver;
|
||||
|
||||
|
||||
import eu.csc.vehown.ui.svi.DashboardActivity;
|
||||
import eu.csc.vehown.ui.svi.RegisterSVIActivity;
|
||||
import eu.csc.vehown.ui.settings.SettingsActivity;
|
||||
import eu.csc.vehown.ui.svi.SVIVehicleItemDetailActivity;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
|
||||
|
|
@ -98,6 +100,9 @@ for(int i = 0; i<10; ++i){
|
|||
|
||||
Intent intent = null;
|
||||
switch (item.getItemId()) {
|
||||
case R.id.nav_dashboard:
|
||||
intent = new Intent(this, DashboardActivity.class);
|
||||
break;
|
||||
case R.id.nav_register:
|
||||
intent = new Intent(this, RegisterSVIActivity.class);
|
||||
break;
|
||||
|
|
@ -108,7 +113,7 @@ for(int i = 0; i<10; ++i){
|
|||
|
||||
break;
|
||||
case R.id.nav_svivehicles:
|
||||
//intent = new Intent(this, SVIVehicleItemListActivity.class);
|
||||
//intent = new Intent(this, SVIVehicleItemDetailActivity.class);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
package eu.csc.vehown.ui.registerCustomer;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class FirstFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState
|
||||
) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_first, container, false);
|
||||
}
|
||||
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
view.findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
// NavHostFragment.findNavController(FirstFragment.this) .navigate(R.id.action_FirstFragment_to_SecondFragment);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
package eu.csc.vehown.ui.registerCustomer;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class SecondFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState
|
||||
) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_second, container, false);
|
||||
}
|
||||
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
// NavHostFragment.findNavController(SecondFragment.this) .navigate(R.id.action_SecondFragment_to_FirstFragment);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
package eu.csc.vehown.ui.svi;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import asn.GTMaintenance.Lease;
|
||||
import eu.csc.asn.Asn1FileBase;
|
||||
import eu.csc.vehown.databinding.ActivityDashboardBinding;
|
||||
import eu.csc.vehown.services.rest.LeaseApiClient;
|
||||
import eu.csc.vehown.services.rest.RetrofitApiClientFactory;
|
||||
import eu.csc.vehown.services.rest.dto.CustomLeaseGenDto;
|
||||
import okhttp3.ResponseBody;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class DashboardActivity extends AppCompatActivity {
|
||||
|
||||
private static final String TAG = "DashboardActivity";
|
||||
ActivityDashboardBinding binding;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
binding = ActivityDashboardBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
binding.btnRequestLease.setOnClickListener(v -> {
|
||||
CustomLeaseGenDto customLease = new CustomLeaseGenDto();
|
||||
customLease.setIssuer("CSC");
|
||||
customLease.setUser("CSC");
|
||||
customLease.setStartTime(0L);
|
||||
customLease.setExpirationTime(4398046511103L);
|
||||
customLease.setSystems(Arrays.asList("obd-ii", "imu"));
|
||||
LeaseApiClient client = RetrofitApiClientFactory.getLeaseClient("http://192.168.178.69:8042/");
|
||||
Call<ResponseBody> call = client.customLease(customLease);
|
||||
call.enqueue(new Callback<ResponseBody>() {
|
||||
@Override
|
||||
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
|
||||
if (response.isSuccessful()) {
|
||||
Log.d(TAG, "server contacted and has file");
|
||||
|
||||
File writtenToDisk = writeResponseBodyToDisk(response.body());
|
||||
try {
|
||||
Lease lease = Asn1FileBase.getInstance().open(Lease.class, writtenToDisk);
|
||||
Log.i(TAG, lease.toString());
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
Log.d(TAG, "file download was a success? " + writtenToDisk);
|
||||
} else {
|
||||
Log.d(TAG, "server contact failed");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Call<ResponseBody> call, Throwable t) {
|
||||
Log.e(TAG, "error");
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private File writeResponseBodyToDisk(ResponseBody body) {
|
||||
try {
|
||||
// todo change the file location/name according to your needs
|
||||
File asnFile = new File(getExternalFilesDir(null) + File.separator + "lease.asn");
|
||||
|
||||
InputStream inputStream = null;
|
||||
OutputStream outputStream = null;
|
||||
|
||||
try {
|
||||
byte[] fileReader = new byte[4096];
|
||||
|
||||
long fileSize = body.contentLength();
|
||||
long fileSizeDownloaded = 0;
|
||||
|
||||
inputStream = body.byteStream();
|
||||
outputStream = new FileOutputStream(asnFile);
|
||||
|
||||
while (true) {
|
||||
int read = inputStream.read(fileReader);
|
||||
|
||||
if (read == -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
outputStream.write(fileReader, 0, read);
|
||||
|
||||
fileSizeDownloaded += read;
|
||||
|
||||
Log.d(TAG, "file download: " + fileSizeDownloaded + " of " + fileSize);
|
||||
}
|
||||
|
||||
outputStream.flush();
|
||||
|
||||
return asnFile;
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
} finally {
|
||||
if (inputStream != null) {
|
||||
inputStream.close();
|
||||
}
|
||||
|
||||
if (outputStream != null) {
|
||||
outputStream.close();
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@ import eu.csc.vehown.R;
|
|||
* An activity representing a single SVIVehicleItem detail screen. This
|
||||
* activity is only used on narrow width devices. On tablet-size devices,
|
||||
* item details are presented side-by-side with a list of items
|
||||
* in a {@link SVIVehicleItemListActivity}.
|
||||
* in a .
|
||||
*/
|
||||
public class SVIVehicleItemDetailActivity extends AppCompatActivity {
|
||||
|
||||
|
|
@ -26,15 +26,6 @@ public class SVIVehicleItemDetailActivity extends AppCompatActivity {
|
|||
Toolbar toolbar = (Toolbar) findViewById(R.id.detail_toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Snackbar.make(view, "Replace with your own detail action", Snackbar.LENGTH_LONG)
|
||||
.setAction("Action", null).show();
|
||||
}
|
||||
});
|
||||
|
||||
// Show the Up button in the action bar.
|
||||
ActionBar actionBar = getSupportActionBar();
|
||||
if (actionBar != null) {
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
package eu.csc.vehown.ui.test;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.navigation.fragment.NavHostFragment;
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class First4Fragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState
|
||||
) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_first4, container, false);
|
||||
}
|
||||
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
view.findViewById(R.id.button_first).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
NavHostFragment.findNavController(First4Fragment.this)
|
||||
.navigate(R.id.action_First4Fragment_to_Second4Fragment);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
package eu.csc.vehown.ui.test;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.navigation.fragment.NavHostFragment;
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class Second4Fragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public View onCreateView(
|
||||
LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState
|
||||
) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_second4, container, false);
|
||||
}
|
||||
|
||||
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
view.findViewById(R.id.button_second).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
NavHostFragment.findNavController(Second4Fragment.this)
|
||||
.navigate(R.id.action_Second4Fragment_to_First4Fragment);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
package eu.csc.vehown.ui.test;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.snackbar.Snackbar;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import android.view.View;
|
||||
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class Test3Activity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_test3);
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
|
||||
FloatingActionButton fab = findViewById(R.id.fab);
|
||||
fab.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
|
||||
.setAction("Action", null).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
package eu.csc.vehown.ui.test;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import eu.csc.vehown.R;
|
||||
|
||||
public class TestActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_test);
|
||||
}
|
||||
}
|
||||
|
|
@ -13,8 +13,8 @@ import androidx.annotation.NonNull;
|
|||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import asn.GTLease.Lease;
|
||||
import eu.csc.gtdm.GTException;
|
||||
import asn.GTMaintenance.Lease;
|
||||
import eu.csc.asn.GTException;
|
||||
import eu.csc.gtp.IGTPCnfNegative;
|
||||
import eu.csc.log.CSCLog;
|
||||
import eu.csc.log.CSCLogFactory;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package eu.csc.vehown.ui.tp;
|
|||
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
import androidx.lifecycle.ViewModel;
|
||||
import asn.GTLease.Lease;
|
||||
import eu.csc.vehown.data.model.TreatmentLease;
|
||||
import eu.csc.vehown.data.model.TreatmentPlan;
|
||||
import eu.csc.vehown.services.rest.data.GrantedLeaseResponse;
|
||||
|
|
@ -10,7 +9,6 @@ import lombok.Getter;
|
|||
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Currency;
|
||||
import java.util.Date;
|
||||
|
||||
@Getter
|
||||
public class TreatmentPlanViewModel extends ViewModel {
|
||||
|
|
@ -18,8 +16,6 @@ public class TreatmentPlanViewModel extends ViewModel {
|
|||
private TreatmentPlan treatmentPlan;
|
||||
private MutableLiveData<TreatmentLease> lease = new MutableLiveData<>();
|
||||
private MutableLiveData<Boolean> isBusy = new MutableLiveData<>();
|
||||
|
||||
|
||||
//private MutableLiveData<TreatmentPlan.Appointment> selectedAppointment = new MutableLiveData<>();
|
||||
|
||||
//
|
||||
|
|
@ -47,11 +43,7 @@ public class TreatmentPlanViewModel extends ViewModel {
|
|||
NumberFormat format = NumberFormat.getCurrencyInstance();
|
||||
format.setMaximumFractionDigits(0);
|
||||
format.setCurrency(Currency.getInstance("EUR"));
|
||||
|
||||
format.format(1000000);
|
||||
|
||||
|
||||
return format.format(treatmentPlan.getEstimatedCost());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,29 +0,0 @@
|
|||
<?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"
|
||||
android:tint="#FFFFFF">
|
||||
<group android:scaleX="0.13682416"
|
||||
android:scaleY="0.13682416"
|
||||
android:translateX="29.987358"
|
||||
android:translateY="29.16">
|
||||
<group android:translateY="144.07031">
|
||||
<path android:pathData="M120,-82Q114.625,-86.328125,110.40625,-88.15625Q106.203125,-90,101.71875,-90Q97.453125,-90,94.71875,-87.71875Q92,-85.4375,92,-81.90625Q92,-78.171875,93.96875,-75.1875Q95.90625,-72.28125,100.90625,-68.40625Q112.96875,-58.875,118.4375,-50.5625Q124,-42.296875,124,-33.484375Q124,-17.890625,113.59375,-7.9375Q103.203125,2,86.859375,2Q78.8125,2,73.34375,0.96875Q67.890625,-0.0625,60,-3L60,-31Q63.84375,-26.125,70.015625,-23.0625Q76.1875,-20,82.109375,-20Q86.9375,-20,89.96875,-22.875Q93,-25.765625,93,-30.34375Q93,-34.921875,90.875,-38.40625Q88.8125,-41.796875,83.3125,-46.109375Q71.703125,-55.34375,66.421875,-63.1875Q61,-70.9375,61,-78.84375Q61,-93.453125,70.90625,-102.71875Q80.828125,-112,96.40625,-112Q102.125,-112,108.796875,-110.859375Q115.46875,-109.734375,120,-108L120,-82Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M139.3125,-86.875Q137.48438,-92.078125,134.53125,-97.28125Q131.57812,-102.484375,126.296875,-110L146.125,-110L166.03125,-110Q165.39062,-106.046875,165.5,-103.171875Q165.60938,-100.3125,166.53125,-97.203125L184.57812,-37L184.28125,-37L184.28125,-37L204.98438,-97.203125Q206.10938,-100.390625,206.35938,-103.25Q206.60938,-106.109375,206.04688,-110L223.85938,-110L241.73438,-110Q238.64062,-105.859375,235.9375,-100.65625Q233.23438,-95.453125,229.64062,-86.875L195.0625,0L182.6875,0L170.3125,0L139.3125,-86.875Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M253,-23.125L253,-86.875Q253,-94.390625,252.09375,-99.59375Q251.1875,-104.796875,249,-110L267.46875,-110L286,-110Q283.8125,-104.875,282.90625,-99.671875Q282,-94.46875,282,-86.875L282,-23.125Q282,-15.53125,282.90625,-10.328125Q283.8125,-5.125,286,0L267.53125,0L249,0Q251.1875,-5.125,252.125,-10.328125Q253,-15.53125,253,-23.125Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
</group>
|
||||
<group android:translateY="325.6172">
|
||||
<path android:pathData="M9.3125,-86.875Q7.484375,-92.078125,4.53125,-97.28125Q1.578125,-102.484375,-3.703125,-110L16.125,-110L36.03125,-110Q35.390625,-106.046875,35.5,-103.171875Q35.609375,-100.3125,36.53125,-97.203125L54.578125,-37L54.28125,-37L54.28125,-37L74.984375,-97.203125Q76.109375,-100.390625,76.359375,-103.25Q76.609375,-106.109375,76.046875,-110L93.859375,-110L111.734375,-110Q108.640625,-105.859375,105.9375,-100.65625Q103.234375,-95.453125,99.640625,-86.875L65.0625,-0L52.6875,-0L40.3125,-0L9.3125,-86.875Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M174,2Q148.04688,2,131.51562,-13.953125Q115,-29.921875,115,-55Q115,-80.078125,131.51562,-96.03125Q148.04688,-112,174,-112Q200.03125,-112,216.51562,-96.03125Q233,-80.078125,233,-55Q233,-29.921875,216.51562,-13.953125Q200.03125,2,174,2L174,2ZM190.59375,-20Q195.625,-24.59375,198.8125,-33.96875Q202,-43.359375,202,-53.5Q202,-71.046875,189.51562,-81.296875Q177.04688,-91.546875,157.40625,-90Q152.375,-85.4375,149.1875,-76.046875Q146,-66.671875,146,-56.5Q146,-38.953125,158.5,-28.703125Q171.01562,-18.453125,190.59375,-20L190.59375,-20Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M247.5625,-23.125L277.23438,-94.734375Q279.28125,-99.59375,280.76562,-104.015625Q282.26562,-108.453125,282.40625,-110L294.73438,-110L307.0625,-110Q307.20312,-108.453125,308.6875,-104.015625Q310.17188,-99.59375,312.23438,-94.734375L341.90625,-23.125Q345.78125,-14.125,348.54688,-8.921875Q351.32812,-3.71875,354.21875,0L336.6875,0L319.09375,0Q319.375,-2.34375,318.8125,-5.203125Q318.25,-8.078125,316.5625,-12.828125L311.10938,-28L311.10938,-28L276,-28L276,-28L270.92188,-12.828125Q269.29688,-8.078125,268.79688,-5.203125Q268.3125,-2.34375,268.59375,0L251.85938,0L235.10938,0Q238.14062,-3.9375,240.95312,-9.140625Q243.76562,-14.34375,247.5625,-23.125ZM292.82812,-78.15625L282.40625,-47L282.40625,-47L304.375,-47L304.375,-47L293.07812,-78.15625L292.82812,-78.15625L292.82812,-78.15625Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108">
|
||||
<path android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
||||
|
|
@ -4,25 +4,25 @@
|
|||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108"
|
||||
android:tint="#FFFFFF">
|
||||
android:tint="#FFFFFF"> <!-- white -->
|
||||
<group android:scaleX="0.13682416"
|
||||
android:scaleY="0.13682416"
|
||||
android:translateX="29.987358"
|
||||
android:translateX="31.492424"
|
||||
android:translateY="29.16">
|
||||
<group android:translateY="144.07031">
|
||||
<path android:pathData="M120,-82Q114.625,-86.328125,110.40625,-88.15625Q106.203125,-90,101.71875,-90Q97.453125,-90,94.71875,-87.71875Q92,-85.4375,92,-81.90625Q92,-78.171875,93.96875,-75.1875Q95.90625,-72.28125,100.90625,-68.40625Q112.96875,-58.875,118.4375,-50.5625Q124,-42.296875,124,-33.484375Q124,-17.890625,113.59375,-7.9375Q103.203125,2,86.859375,2Q78.8125,2,73.34375,0.96875Q67.890625,-0.0625,60,-3L60,-31Q63.84375,-26.125,70.015625,-23.0625Q76.1875,-20,82.109375,-20Q86.9375,-20,89.96875,-22.875Q93,-25.765625,93,-30.34375Q93,-34.921875,90.875,-38.40625Q88.8125,-41.796875,83.3125,-46.109375Q71.703125,-55.34375,66.421875,-63.1875Q61,-70.9375,61,-78.84375Q61,-93.453125,70.90625,-102.71875Q80.828125,-112,96.40625,-112Q102.125,-112,108.796875,-110.859375Q115.46875,-109.734375,120,-108L120,-82Z"
|
||||
<group android:translateY="144.07031"> <!-- Veh -->
|
||||
<path android:pathData="M62.3125,-86.875Q60.484375,-92.078125,57.53125,-97.28125Q54.578125,-102.484375,49.296875,-110L69.125,-110L89.03125,-110Q88.390625,-106.046875,88.5,-103.171875Q88.609375,-100.3125,89.53125,-97.203125L107.578125,-37L107.28125,-37L107.28125,-37L127.984375,-97.203125Q129.10938,-100.390625,129.35938,-103.25Q129.60938,-106.109375,129.04688,-110L146.85938,-110L164.73438,-110Q161.64062,-105.859375,158.9375,-100.65625Q156.23438,-95.453125,152.64062,-86.875L118.0625,0L105.6875,0L93.3125,0L62.3125,-86.875Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M139.3125,-86.875Q137.48438,-92.078125,134.53125,-97.28125Q131.57812,-102.484375,126.296875,-110L146.125,-110L166.03125,-110Q165.39062,-106.046875,165.5,-103.171875Q165.60938,-100.3125,166.53125,-97.203125L184.57812,-37L184.28125,-37L184.28125,-37L204.98438,-97.203125Q206.10938,-100.390625,206.35938,-103.25Q206.60938,-106.109375,206.04688,-110L223.85938,-110L241.73438,-110Q238.64062,-105.859375,235.9375,-100.65625Q233.23438,-95.453125,229.64062,-86.875L195.0625,0L182.6875,0L170.3125,0L139.3125,-86.875Z"
|
||||
<path android:pathData="M208.48438,2Q188.78125,2,177.39062,-8.671875Q166,-19.34375,166,-37.921875Q166,-55.59375,176.04688,-66.796875Q186.09375,-78,201.875,-78L201.65625,-78Q216.875,-78,225.4375,-68.421875Q234,-58.84375,234,-41.796875Q234,-37.1875,233.14062,-33L233.14062,-33L193.45312,-33L193.45312,-33Q194.84375,-27.171875,197.98438,-23.125Q203.625,-16,214.42188,-16Q219.4375,-16,224.6875,-17.625Q229.95312,-19.25,234.20312,-22.171875L225,0Q218.45312,1.21875,215.3125,1.609375Q212.1875,2,208.48438,2ZM211.45312,-48L211.45312,-48L211.39062,-50.78125Q211.39062,-56.671875,209,-59.828125Q206.60938,-63,202.23438,-63Q197.39062,-63,194.82812,-58.171875Q192.89062,-54.5625,192.46875,-48L192.46875,-48L211.45312,-48Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M253,-23.125L253,-86.875Q253,-94.390625,252.09375,-99.59375Q251.1875,-104.796875,249,-110L267.46875,-110L286,-110Q283.8125,-104.875,282.90625,-99.671875Q282,-94.46875,282,-86.875L282,-23.125Q282,-15.53125,282.90625,-10.328125Q283.8125,-5.125,286,0L267.53125,0L249,0Q251.1875,-5.125,252.125,-10.328125Q253,-15.53125,253,-23.125Z"
|
||||
<path android:pathData="M244,-23L244,-82Q244,-89.828125,243.10938,-95Q242.23438,-100.171875,240,-105L257,-106.96875L274,-109Q271.8125,-104.265625,270.90625,-97.0625Q270,-89.875,270,-76.9375L270,-62.390625L270,-62.390625L270,-62.390625L284.23438,-77.015625Q287.67188,-78.0625,290.67188,-78Q301.98438,-78,307.98438,-72.09375Q314,-66.1875,314,-55.078125L314,-23.140625Q314,-15.265625,314.875,-10.0625Q315.76562,-4.859375,318,0L301,0L284,0Q286.23438,-4.875,287.10938,-10.109375Q288,-15.34375,288,-23.265625L288,-47.109375Q288,-52.40625,286,-55.203125Q284.01562,-58,280.25,-58Q274.29688,-57.921875,270,-54.53125L270,-54.53125L270,-23.265625Q270,-15.34375,270.875,-10.109375Q271.76562,-4.875,274,0L257,0L240,0Q242.23438,-4.828125,243.15625,-10Q244,-15.171875,244,-23Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
</group>
|
||||
<group android:translateY="325.6172">
|
||||
<path android:pathData="M9.3125,-86.875Q7.484375,-92.078125,4.53125,-97.28125Q1.578125,-102.484375,-3.703125,-110L16.125,-110L36.03125,-110Q35.390625,-106.046875,35.5,-103.171875Q35.609375,-100.3125,36.53125,-97.203125L54.578125,-37L54.28125,-37L54.28125,-37L74.984375,-97.203125Q76.109375,-100.390625,76.359375,-103.25Q76.609375,-106.109375,76.046875,-110L93.859375,-110L111.734375,-110Q108.640625,-105.859375,105.9375,-100.65625Q103.234375,-95.453125,99.640625,-86.875L65.0625,-0L52.6875,-0L40.3125,-0L9.3125,-86.875Z"
|
||||
<group android:translateY="325.6172"> <!-- Own -->
|
||||
<path android:pathData="M65,2Q39.046875,2,22.515625,-13.953125Q6,-29.921875,6,-55Q6,-80.078125,22.515625,-96.03125Q39.046875,-112,65,-112Q91.03125,-112,107.515625,-96.03125Q124,-80.078125,124,-55Q124,-29.921875,107.515625,-13.953125Q91.03125,2,65,2L65,2ZM81.59375,-20Q86.625,-24.59375,89.8125,-33.96875Q93,-43.359375,93,-53.5Q93,-71.046875,80.515625,-81.296875Q68.046875,-91.546875,48.40625,-90Q43.375,-85.4375,40.1875,-76.046875Q37,-66.671875,37,-56.5Q37,-38.953125,49.5,-28.703125Q62.015625,-18.453125,81.59375,-20L81.59375,-20Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M174,2Q148.04688,2,131.51562,-13.953125Q115,-29.921875,115,-55Q115,-80.078125,131.51562,-96.03125Q148.04688,-112,174,-112Q200.03125,-112,216.51562,-96.03125Q233,-80.078125,233,-55Q233,-29.921875,216.51562,-13.953125Q200.03125,2,174,2L174,2ZM190.59375,-20Q195.625,-24.59375,198.8125,-33.96875Q202,-43.359375,202,-53.5Q202,-71.046875,189.51562,-81.296875Q177.04688,-91.546875,157.40625,-90Q152.375,-85.4375,149.1875,-76.046875Q146,-66.671875,146,-56.5Q146,-38.953125,158.5,-28.703125Q171.01562,-18.453125,190.59375,-20L190.59375,-20Z"
|
||||
<path android:pathData="M152.40625,0L138.34375,-46.046875Q134.04688,-59.828125,131.40625,-66.578125Q128.78125,-73.34375,126.59375,-76L142.23438,-76L157.85938,-76Q157.29688,-72.71875,157.71875,-68.453125Q158.14062,-64.203125,159.76562,-57.09375L166.15625,-27.640625L166.21875,-27.640625L166.21875,-27.640625L178.71875,-76L189.48438,-76L200.23438,-76L212.17188,-25.875L212.23438,-25.875L212.23438,-25.875L218.54688,-53.234375Q220.73438,-62.171875,221.35938,-67.265625Q222,-72.375,221.4375,-76L232.67188,-76L243.98438,-76Q242.01562,-73.546875,239.4375,-66.796875Q236.875,-60.046875,232.51562,-46.046875L219.15625,0L208.04688,0L196.85938,0L186.25,-44.5625L186.21875,-44.5625L186.21875,-44.5625L174.70312,0L163.59375,0L152.40625,0Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path android:pathData="M247.5625,-23.125L277.23438,-94.734375Q279.28125,-99.59375,280.76562,-104.015625Q282.26562,-108.453125,282.40625,-110L294.73438,-110L307.0625,-110Q307.20312,-108.453125,308.6875,-104.015625Q310.17188,-99.59375,312.23438,-94.734375L341.90625,-23.125Q345.78125,-14.125,348.54688,-8.921875Q351.32812,-3.71875,354.21875,0L336.6875,0L319.09375,0Q319.375,-2.34375,318.8125,-5.203125Q318.25,-8.078125,316.5625,-12.828125L311.10938,-28L311.10938,-28L276,-28L276,-28L270.92188,-12.828125Q269.29688,-8.078125,268.79688,-5.203125Q268.3125,-2.34375,268.59375,0L251.85938,0L235.10938,0Q238.14062,-3.9375,240.95312,-9.140625Q243.76562,-14.34375,247.5625,-23.125ZM292.82812,-78.15625L282.40625,-47L282.40625,-47L304.375,-47L304.375,-47L293.07812,-78.15625L292.82812,-78.15625L292.82812,-78.15625Z"
|
||||
<path android:pathData="M252,-23.03125L252,-52.96875Q252,-60.8125,251.10938,-65.984375Q250.23438,-71.171875,248,-76L263,-76L278,-76L278,-76L278,-61.75L278,-61.75L278,-61.75L292.3125,-76.9375Q295.09375,-78,298.75,-78Q309.98438,-78,315.98438,-72.09375Q322,-66.1875,322,-55.140625L322,-23.140625Q322,-15.265625,322.875,-10.0625Q323.76562,-4.859375,326,0L309,0L292,0Q294.23438,-4.875,295.10938,-10.109375Q296,-15.34375,296,-23.265625L296,-46.6875Q296,-52.125,293.625,-55.0625Q291.25,-58,286.73438,-58Q281.76562,-58,278,-55.59375L278,-55.59375L278,-23.265625Q278,-15.34375,278.875,-10.109375Q279.76562,-4.875,282,0L265,0L248,0Q250.23438,-4.828125,251.15625,-10Q252,-15.1875,252,-23.03125Z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
</group>
|
||||
</group>
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108"
|
||||
android:tint="#000000">
|
||||
<group android:scaleX="2.61"
|
||||
android:scaleY="2.61"
|
||||
android:translateX="22.68"
|
||||
android:translateY="22.68">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20.01,15.38c-1.23,0 -2.42,-0.2 -3.53,-0.56 -0.35,-0.12 -0.74,-0.03 -1.01,0.24l-1.57,1.97c-2.83,-1.35 -5.48,-3.9 -6.89,-6.83l1.95,-1.66c0.27,-0.28 0.35,-0.67 0.24,-1.02 -0.37,-1.11 -0.56,-2.3 -0.56,-3.53 0,-0.54 -0.45,-0.99 -0.99,-0.99H4.19C3.65,3 3,3.24 3,3.99 3,13.28 10.73,21 20.01,21c0.71,0 0.99,-0.63 0.99,-1.18v-3.45c0,-0.54 -0.45,-0.99 -0.99,-0.99z"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.svi.DashboardActivity">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnRequestLease"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:textAlignment="center"
|
||||
android:text="Request Lease"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvLease"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="asdasdsd"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnRequestLease"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/btnDeleteLease"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:textAlignment="center"
|
||||
android:text="Delete Lease"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvLease"
|
||||
/>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.test.TestActivity">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".ui.test.Test3Activity">
|
||||
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:theme="@style/Theme.VehicleOwner.AppBarOverlay">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:popupTheme="@style/Theme.VehicleOwner.PopupOverlay"/>
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<include layout="@layout/fragment_first4"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"/>
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|end"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
app:srcCompat="@android:drawable/ic_dialog_email"/>
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".FirstFragment">
|
||||
|
||||
<TableLayout android:layout_width="match_parent" android:layout_height="match_parent">
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="Lastname"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCLastname"/>
|
||||
</TableRow>
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="Firstname"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCFirstname"/>
|
||||
</TableRow>
|
||||
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="E-Mail"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1" android:inputType="textEmailAddress"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCEmail"/>
|
||||
</TableRow>
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="Login"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1" android:inputType="text"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCLogin"/>
|
||||
</TableRow>
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="Password"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1" android:inputType="textPassword"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCPasswordOne"/>
|
||||
</TableRow>
|
||||
|
||||
<TableRow android:layout_width="match_parent">
|
||||
<TextView
|
||||
android:layout_column="0"
|
||||
android:layout_width="wrap_content"
|
||||
android:text="Re-Password"/>
|
||||
|
||||
<EditText
|
||||
android:layout_column="1" android:inputType="textPassword"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/edRCPasswordTwo"/>
|
||||
</TableRow>
|
||||
|
||||
</TableLayout>
|
||||
|
||||
|
||||
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnRCRegister"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/next"
|
||||
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".First2Fragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello_first_fragment"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_first"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/next"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_first"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".First3Fragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello_first_fragment"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_first"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/next"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_first"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".First4Fragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/hello_first_fragment"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_first"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/next"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_first"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".SecondFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_second"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/previous"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_second"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_second"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/previous"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_second"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_second"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/previous"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_second"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".Second4Fragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textview_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/button_second"
|
||||
/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_second"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/previous"
|
||||
app:layout_constraintTop_toBottomOf="@id/textview_second"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
/>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -16,20 +16,20 @@
|
|||
android:id="@+id/imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/nav_header_desc"
|
||||
android:contentDescription="@string/app_description"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
app:srcCompat="@mipmap/ic_launcher_round" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
android:text="@string/nav_header_title"
|
||||
android:text="@string/app_name"
|
||||
android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/nav_header_subtitle" />
|
||||
android:text="@string/app_info" />
|
||||
</LinearLayout>
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
android:id="@+id/nav_dashboard"
|
||||
android:icon="@drawable/ic_baseline_dashboard_24"
|
||||
android:title="@string/menu_dashboard"
|
||||
android:onClick="menuItemOnClicked"
|
||||
/>
|
||||
|
||||
<item
|
||||
|
|
@ -31,7 +32,7 @@
|
|||
/>
|
||||
<item
|
||||
android:id="@+id/nav_settings"
|
||||
android:icon="@drawable/ic_settings_foreground"
|
||||
android:icon="@drawable/ic_settings"
|
||||
android:title="@string/menu_settings"
|
||||
android:onClick="menuItemOnClicked"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<background android:drawable="@color/colorPrimary"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<background android:drawable="@color/colorPrimary"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_phone_call_image_background"/>
|
||||
<foreground android:drawable="@drawable/ic_phone_call_image_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_phone_call_image_background"/>
|
||||
<foreground android:drawable="@drawable/ic_phone_call_image_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_settings_background"/>
|
||||
<foreground android:drawable="@drawable/ic_settings_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_settings_background"/>
|
||||
<foreground android:drawable="@drawable/ic_settings_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
|
@ -1,31 +1,31 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<navigation 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/mobile_navigation"
|
||||
app:startDestination="@+id/nav_dashboard">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/mobile_navigation"
|
||||
app:startDestination="@+id/nav_dashboard">
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_dashboard"
|
||||
android:name="eu.csc.vehown.ui.main.dboard.DashboardFragment"
|
||||
android:label="@string/app_name"
|
||||
tools:layout="@layout/fragment_register_device" />
|
||||
tools:layout="@layout/fragment_register_device"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_register"
|
||||
android:name="eu.csc.vehown.ui.svi.RegisterDeviceFragment"
|
||||
android:label="@string/register_svi"
|
||||
tools:layout="@layout/activity_register_svi" />
|
||||
android:id="@+id/nav_register"
|
||||
android:name="eu.csc.vehown.ui.svi.RegisterDeviceFragment"
|
||||
android:label="@string/register_svi"
|
||||
tools:layout="@layout/activity_register_svi"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_downloaded_events"
|
||||
android:name="eu.csc.vehown.ui.main.dwev.DownloadedEventsFragment"
|
||||
android:label="@string/menu_downloaded_events"
|
||||
tools:layout="@layout/fragment_downloaded_events" />
|
||||
android:id="@+id/nav_downloaded_events"
|
||||
android:name="eu.csc.vehown.ui.main.dwev.DownloadedEventsFragment"
|
||||
android:label="@string/menu_downloaded_events"
|
||||
tools:layout="@layout/fragment_downloaded_events"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/nav_reported_events"
|
||||
android:name="eu.csc.vehown.ui.main.repev.ReportedEventsFragment"
|
||||
android:label="@string/menu_reported_events"
|
||||
tools:layout="@layout/fragment_reported_events" />
|
||||
android:id="@+id/nav_reported_events"
|
||||
android:name="eu.csc.vehown.ui.main.repev.ReportedEventsFragment"
|
||||
android:label="@string/menu_reported_events"
|
||||
tools:layout="@layout/fragment_reported_events"/>
|
||||
</navigation>
|
||||
|
|
@ -41,26 +41,6 @@
|
|||
|
||||
<argument android:name="treatmentId" app:argType="string" app:nullable="true" android:defaultValue="a"/>
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/First4Fragment"
|
||||
android:name="eu.csc.vehown.ui.test.First4Fragment"
|
||||
android:label="@string/first_fragment_label"
|
||||
tools:layout="@layout/fragment_first4">
|
||||
|
||||
<action
|
||||
android:id="@+id/action_First4Fragment_to_Second4Fragment"
|
||||
app:destination="@id/Second4Fragment"/>
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/Second4Fragment"
|
||||
android:name="eu.csc.vehown.ui.test.Second4Fragment"
|
||||
android:label="@string/second_fragment_label"
|
||||
tools:layout="@layout/fragment_second4">
|
||||
|
||||
<action
|
||||
android:id="@+id/action_Second4Fragment_to_First4Fragment"
|
||||
app:destination="@id/First4Fragment"/>
|
||||
</fragment>
|
||||
<fragment
|
||||
android:id="@+id/missingTreatmentGrantsFragment"
|
||||
android:name="eu.csc.vehown.ui.tp.md.MissingTreatmentGrantsFragment"
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
<style name="Theme.VehicleOwner" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">@color/blue1</item>
|
||||
<item name="colorPrimaryVariant">@color/blue3</item>
|
||||
<item name="colorPrimaryVariant">@color/blue2</item>
|
||||
<item name="colorOnPrimary">@color/black</item>
|
||||
<!-- Secondary brand color. -->
|
||||
<item name="colorSecondary">@color/teal_200</item>
|
||||
<item name="colorSecondaryVariant">@color/teal_200</item>
|
||||
<item name="colorSecondaryVariant">@color/teal_700</item>
|
||||
<item name="colorOnSecondary">@color/black</item>
|
||||
<!-- Status bar color. -->
|
||||
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
<resources>
|
||||
</resources>
|
||||
|
|
@ -4,10 +4,11 @@
|
|||
<!--color name="colorPrimaryDark">#3700B3</color-->
|
||||
<color name="colorPrimaryDark">#000000</color>
|
||||
<color name="colorPrimaryVariant">#0000c8</color>
|
||||
<color name="colorAccent">#008eff</color>
|
||||
<color name="colorAccent">#008dfd</color>
|
||||
<color name="colorText">#ffffff</color>
|
||||
|
||||
<color name="blue1">#008eff</color>
|
||||
<color name="blue1">#008dfd</color>
|
||||
<!--color name="blue1a">#008eff</color-->
|
||||
<color name="blue2">#0000ff</color>
|
||||
<color name="blue3">#0000c8</color>
|
||||
<!-- <color name="purple_200">#FFBB86FC</color>-->
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#008EFF</color>
|
||||
</resources>
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
<string name="accept">Accept</string>
|
||||
<string name="access_code">Access Code</string>
|
||||
<string name="address">Address</string>
|
||||
<string name="app_name">SVI VehOwnApp</string>
|
||||
<string name="app_description">ODP Application Vehicle Owner</string>
|
||||
<string name="app_info">info@csc-online.eu</string>
|
||||
<string name="app_name">ODP-AppVehOwn</string>
|
||||
<string name="appointment">Appointment</string>
|
||||
<string name="back">Back</string>
|
||||
<string name="note">Service Advisor Notes</string>
|
||||
|
|
@ -26,9 +28,6 @@
|
|||
<string name="menu_settings">Settings</string>
|
||||
<string name="menu_svivehicles">SVI/Vehicle</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="nav_header_desc">SVI Vehicle Owner App</string>
|
||||
<string name="nav_header_title">SVI VehOwnApp</string>
|
||||
<string name="nav_header_subtitle">info@csc-online.eu</string>
|
||||
<string name="no_event_selected">-no event selected-</string>
|
||||
<string name="no_repair_shop_selected">-no repair shop selected-</string>
|
||||
<string name="order_no">Order no</string>
|
||||
|
|
@ -85,7 +84,6 @@
|
|||
<string name="action_settings">Settings</string>
|
||||
|
||||
<string name="title_activity_test2">Test2Activity</string>
|
||||
<string name="title_activity_test3">Test3Activity</string>
|
||||
<string name="title_activity_settings">SettingsActivity</string>
|
||||
|
||||
<!-- Preference Titles -->
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
<!-- Base application theme. -->
|
||||
<style name="Theme.VehicleOwner" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
||||
<!-- Primary brand color. -->
|
||||
<item name="colorPrimary">@color/blue2</item>
|
||||
<item name="colorPrimaryVariant">@color/blue3</item>
|
||||
<item name="colorPrimary">@color/blue1</item>
|
||||
<item name="colorPrimaryVariant">@color/blue2</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
<!-- Secondary brand color. -->
|
||||
<item name="colorSecondary">@color/teal_200</item>
|
||||
|
|
|
|||
16
build.gradle
|
|
@ -19,6 +19,22 @@ allprojects {
|
|||
}
|
||||
}
|
||||
|
||||
subprojects {
|
||||
ext {
|
||||
asnrt_version = "2020.07"
|
||||
coregtdm_version = "0.9.1-SNAPSHOT"
|
||||
// gtdm_version = "0.9.1-SNAPSHOT"
|
||||
// commons_io_version = "2.6"
|
||||
// commons_logging_version = "1.2"
|
||||
// junit_version = "4.13.2"
|
||||
lombok_Version = "1.18.22"
|
||||
|
||||
// adb = 'D:/Dev/Android/sdk/platform-tools/adb.exe'
|
||||
// androidDataPath = '/sdcard/Android/data'
|
||||
// localMavenRepo = new File(System.getProperty('user.home'), '.m2/repository').absolutePath
|
||||
}
|
||||
}
|
||||
|
||||
task clean(type: Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,21 +11,16 @@ import eu.csc.vehown.persist.localstorage.entity.vehicle.VehicleEntity;
|
|||
import eu.csc.vehown.persist.localstorage.entity.vehicle.VehicleInfoEntity;
|
||||
import eu.csc.vehown.persist.localstorage.entity.vehicle.VehicleSystemEntity;
|
||||
|
||||
|
||||
@Database(entities = {
|
||||
EventEntity.class,
|
||||
VehicleEntity.class,
|
||||
VehicleInfoEntity.class,
|
||||
VehicleSystemEntity.class,
|
||||
|
||||
|
||||
LeaseEntity.class,
|
||||
LeaseSystemEntity.class,
|
||||
|
||||
LeaseInfoEntity.class,
|
||||
|
||||
},
|
||||
|
||||
exportSchema = true,
|
||||
version = 1)
|
||||
|
||||
|
|
@ -38,9 +33,4 @@ public abstract class VehicleOwnerDatabase extends RoomDatabase {
|
|||
public abstract LeaseEntityDao leaseDao();
|
||||
public abstract VehicleInfoDao vehicleInfoDao();
|
||||
public abstract VehicleSystemDao vehicleSystemDao();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public class EventEntity {
|
|||
@ColumnInfo(name = "vehicle")
|
||||
private String vehicle;
|
||||
|
||||
@ColumnInfo(name = "vehicleId")
|
||||
@ColumnInfo(name = "vehicleId", index = true)
|
||||
private Long vehicleId;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package eu.csc.vehown.persist.localstorage.entity.lease;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
|
||||
|
|
@ -25,6 +26,7 @@ public class LeaseInfoEntity extends BaseIdentifiable {
|
|||
|
||||
|
||||
//@ForeignKey(entity = LeaseEntity.class, parentColumns = "", childColumns = "")
|
||||
@ColumnInfo(index = true)
|
||||
private long leaseId;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package eu.csc.vehown.persist.localstorage.entity.lease;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
|
||||
|
|
@ -27,6 +28,7 @@ public class LeaseSystemEntity extends BaseIdentifiable {
|
|||
|
||||
|
||||
//@ForeignKey(entity = LeaseEntity.class, parentColumns = "", childColumns = "")
|
||||
@ColumnInfo(index = true)
|
||||
private long leaseId;
|
||||
|
||||
private String systemId;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
package eu.csc.vehown.persist.localstorage.entity.vehicle;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.PrimaryKey;
|
||||
import androidx.room.TypeConverters;
|
||||
import androidx.room.*;
|
||||
|
||||
import eu.csc.vehown.persist.localstorage.converter.TimestampConverter;
|
||||
import lombok.Getter;
|
||||
|
|
@ -33,6 +30,7 @@ public class VehicleEntity {
|
|||
@TypeConverters({TimestampConverter.class})
|
||||
private Date addedAt;
|
||||
|
||||
@Ignore
|
||||
public VehicleEntity(String vin, String model, String brand) {
|
||||
this.vin = vin;
|
||||
this.model = model;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import androidx.room.Entity;
|
|||
import androidx.room.ForeignKey;
|
||||
|
||||
|
||||
import androidx.room.Ignore;
|
||||
import eu.csc.vehown.persist.localstorage.entity.BaseIdentifiable;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
|
@ -24,12 +25,13 @@ import lombok.Setter;
|
|||
onDelete = ForeignKey.CASCADE)})
|
||||
public class VehicleInfoEntity extends BaseIdentifiable {
|
||||
|
||||
@ColumnInfo
|
||||
@ColumnInfo(index = true)
|
||||
private long infoVehicleId;
|
||||
|
||||
private String key;
|
||||
private String value;
|
||||
|
||||
@Ignore
|
||||
public VehicleInfoEntity(long infoVehicleId, String key, String value) {
|
||||
this.infoVehicleId = infoVehicleId;
|
||||
this.key = key;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import androidx.room.ColumnInfo;
|
|||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
|
||||
import androidx.room.Ignore;
|
||||
import eu.csc.vehown.data.model.IVehicleSystem;
|
||||
import eu.csc.vehown.persist.localstorage.entity.BaseIdentifiable;
|
||||
import lombok.Getter;
|
||||
|
|
@ -23,19 +24,20 @@ import lombok.Setter;
|
|||
onDelete = ForeignKey.CASCADE)})
|
||||
public class VehicleSystemEntity extends BaseIdentifiable {
|
||||
|
||||
@ColumnInfo
|
||||
@ColumnInfo(index = true)
|
||||
private long vehicleId;
|
||||
|
||||
private String systemId;
|
||||
private String systemName;
|
||||
|
||||
@Ignore
|
||||
public VehicleSystemEntity(long vehicleId, String systemId, String systemName) {
|
||||
this.vehicleId = vehicleId;
|
||||
this.systemId = systemId;
|
||||
this.systemName = systemName;
|
||||
}
|
||||
|
||||
|
||||
@Ignore
|
||||
public VehicleSystemEntity(IVehicleSystem system, long vehicleId){
|
||||
this.vehicleId = vehicleId;
|
||||
this.systemId = system.getId();
|
||||
|
|
|
|||
|
|
@ -97,14 +97,11 @@ public class LocalStorageServiceImpl {
|
|||
return id;
|
||||
}
|
||||
|
||||
|
||||
private Date convertTimestampToDate(long ts) {
|
||||
|
||||
var calender = new GregorianCalendar();
|
||||
GregorianCalendar calender = new GregorianCalendar();
|
||||
calender.setTimeInMillis(ts);
|
||||
|
||||
return calender.getTime();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,21 +7,20 @@ import com.google.gson.GsonBuilder;
|
|||
import eu.csc.vehown.data.model.LoggedInUser;
|
||||
import eu.csc.vehown.persist.localstorage.R;
|
||||
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class LocalStorageClientImpl implements LocalStorageClient {
|
||||
|
||||
private static final String TAG = LocalStorageClientImpl.class.getSimpleName();
|
||||
// private static final String TAG = LocalStorageClientImpl.class.getSimpleName();
|
||||
|
||||
|
||||
private SharedPreferences sharedPreferences;
|
||||
private final SharedPreferences sharedPreferences;
|
||||
|
||||
private static final String KEY_IS_LOGGED_IN = "prefs_isloggedin";
|
||||
private static final String KEY_LOGGEDINUSER = "prefs_loggedin_user";
|
||||
|
||||
|
||||
private static final String KEY_LOGGEDINUSERNAME = "prefs_loggedin_username";
|
||||
// private static final String KEY_LOGGEDINUSERNAME = "prefs_loggedin_username";
|
||||
private File tokenDir;
|
||||
private File eventsDir;
|
||||
|
||||
|
|
@ -33,6 +32,7 @@ public class LocalStorageClientImpl implements LocalStorageClient {
|
|||
this.initiateFilesDir(context.getFilesDir());
|
||||
}
|
||||
|
||||
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||
private void initiateFilesDir(File filesDir) {
|
||||
this.tokenDir = new File(filesDir, "tokens");
|
||||
this.eventsDir = new File(filesDir, "events");
|
||||
|
|
@ -113,9 +113,6 @@ public class LocalStorageClientImpl implements LocalStorageClient {
|
|||
}
|
||||
|
||||
private <T> T fromJson(Class clazz, String json) {
|
||||
|
||||
return (T) getGson().fromJson(json,clazz);
|
||||
return (T) getGson().fromJson(json, clazz);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,10 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.3.0'
|
||||
|
|
@ -36,7 +40,7 @@ dependencies {
|
|||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||||
|
||||
implementation files('libs/log4j-1.2.17.jar')
|
||||
implementation files('libs/asnrt-2020.07.jar')
|
||||
implementation files('libs/coregtdm-1.0.jar')
|
||||
implementation files('../../libs/log4j-1.2.17.jar')
|
||||
implementation "asnrt:asnrt:$asnrt_version"
|
||||
implementation "eu.csc.core:coregtdm:$coregtdm_version"
|
||||
}
|
||||