mirror of
https://git.wmi.amu.edu.pl/s470664/WRSDv2.git
synced 2024-09-01 12:15:35 +02:00
Add devices type functionality
This commit is contained in:
parent
b1065bfeea
commit
ae3ecfa943
@ -2,13 +2,21 @@ package com.example.wrsd;
|
|||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class AddDeviceActivity extends AppCompatActivity {
|
public class AddDeviceActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
static String[] deviceTypes = new String[]{"Blinds", "Bulb", "Heater"};
|
||||||
|
|
||||||
|
Spinner deviceTypeDropdown;
|
||||||
EditText editTextTextName;
|
EditText editTextTextName;
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@ -16,6 +24,12 @@ public class AddDeviceActivity extends AppCompatActivity {
|
|||||||
setContentView(R.layout.activity_add_device);
|
setContentView(R.layout.activity_add_device);
|
||||||
|
|
||||||
editTextTextName = (EditText) findViewById(R.id.editTextTextName);
|
editTextTextName = (EditText) findViewById(R.id.editTextTextName);
|
||||||
|
deviceTypeDropdown = (Spinner) findViewById(R.id.deviceTypeDropdown);
|
||||||
|
|
||||||
|
ArrayAdapter<String> adapter = new ArrayAdapter<>(AddDeviceActivity.this, android.R.layout.simple_spinner_item, deviceTypes);
|
||||||
|
|
||||||
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||||
|
deviceTypeDropdown.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -30,8 +44,10 @@ public class AddDeviceActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
public void DeviceName(View view){
|
public void DeviceName(View view){
|
||||||
String editTextName = editTextTextName.getText().toString().trim();
|
String editTextName = editTextTextName.getText().toString().trim();
|
||||||
|
String deviceType = deviceTypeDropdown.getSelectedItem().toString();
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.putExtra("name", editTextName);
|
intent.putExtra("name", editTextName);
|
||||||
|
intent.putExtra("type", deviceType);
|
||||||
setResult(RESULT_OK, intent);
|
setResult(RESULT_OK, intent);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,25 @@
|
|||||||
package com.example.wrsd;public class BlindsDevice {
|
package com.example.wrsd;
|
||||||
|
|
||||||
|
public class BlindsDevice extends Device{
|
||||||
|
|
||||||
|
public boolean state;
|
||||||
|
|
||||||
|
public BlindsDevice(String id, String name) {
|
||||||
|
super(id, name, DeviceType.BLINDS);
|
||||||
|
state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(boolean state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
String stateString = state? "1" : "0";
|
||||||
|
return deviceType.toString() + name + "?" + stateString;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,37 @@
|
|||||||
package com.example.wrsd;public class BulbDevice {
|
package com.example.wrsd;
|
||||||
|
|
||||||
|
public class BulbDevice extends Device{
|
||||||
|
|
||||||
|
public boolean state;
|
||||||
|
|
||||||
|
public int brightness;
|
||||||
|
|
||||||
|
public BulbDevice(String id, String name) {
|
||||||
|
super(id, name, DeviceType.BULB);
|
||||||
|
this.state = false;
|
||||||
|
this.brightness = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(boolean state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBrightness() {
|
||||||
|
return brightness;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBrightness(int brightness) {
|
||||||
|
this.brightness = brightness;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
String stateString = state? "1" : "0";
|
||||||
|
String brightnessString = Integer.toString(brightness);
|
||||||
|
return deviceType.toString() + name + "?" + stateString + brightnessString;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,12 @@ public class Device {
|
|||||||
|
|
||||||
String id;
|
String id;
|
||||||
String name;
|
String name;
|
||||||
|
DeviceType deviceType;
|
||||||
|
|
||||||
public Device(String id, String name) {
|
public Device(String id, String name, DeviceType deviceType) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
this.deviceType = deviceType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
@ -25,4 +27,9 @@ public class Device {
|
|||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return deviceType.toString() + id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,8 @@ import android.os.Bundle;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.SeekBar;
|
||||||
|
import android.widget.Switch;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@ -24,7 +26,10 @@ import com.google.firebase.firestore.FirebaseFirestore;
|
|||||||
public class DeviceSettings extends AppCompatActivity {
|
public class DeviceSettings extends AppCompatActivity {
|
||||||
|
|
||||||
private Button deleteButton;
|
private Button deleteButton;
|
||||||
private String device, userEmail, room;
|
private TextView progressLabel;
|
||||||
|
private Switch stateSwitch;
|
||||||
|
private SeekBar progressBar;
|
||||||
|
private String device, userEmail, type, room, code;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@ -39,13 +44,40 @@ public class DeviceSettings extends AppCompatActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_device_settings);
|
setContentView(R.layout.activity_device_settings);
|
||||||
|
|
||||||
|
progressLabel = (TextView) findViewById(R.id.progressLabel);
|
||||||
|
stateSwitch = (Switch) findViewById(R.id.state);
|
||||||
|
progressBar = (SeekBar) findViewById(R.id.progress);
|
||||||
|
|
||||||
|
progressLabel.setVisibility(View.INVISIBLE);
|
||||||
|
stateSwitch.setVisibility(View.INVISIBLE);
|
||||||
|
progressBar.setVisibility(View.INVISIBLE);
|
||||||
|
|
||||||
Bundle extras = getIntent().getExtras();
|
Bundle extras = getIntent().getExtras();
|
||||||
if (extras != null) {
|
if (extras != null) {
|
||||||
|
|
||||||
device = extras.getString("device");
|
device = extras.getString("device");
|
||||||
userEmail = extras.getString("email");
|
userEmail = extras.getString("email");
|
||||||
room = extras.getString("room");
|
room = extras.getString("room");
|
||||||
|
type = extras.getString("type");
|
||||||
|
code = extras.getString("code");
|
||||||
//The key argument here must match that used in the other activity
|
//The key argument here must match that used in the other activity
|
||||||
|
|
||||||
|
if (type.equals("Blinds")) {
|
||||||
|
stateSwitch.setText("Up/Down");
|
||||||
|
stateSwitch.setVisibility(View.VISIBLE);
|
||||||
|
} else if (type.equals("Bulb")) {
|
||||||
|
stateSwitch.setText("On/Off");
|
||||||
|
progressLabel.setText("Brightness");
|
||||||
|
stateSwitch.setVisibility(View.VISIBLE);
|
||||||
|
progressLabel.setVisibility(View.VISIBLE);
|
||||||
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
|
} else if (type.equals("Heater")) {
|
||||||
|
stateSwitch.setText("On/Off");
|
||||||
|
progressLabel.setText("Temperature");
|
||||||
|
stateSwitch.setVisibility(View.VISIBLE);
|
||||||
|
progressLabel.setVisibility(View.VISIBLE);
|
||||||
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteButton = (Button) findViewById(R.id.deleteButton);
|
deleteButton = (Button) findViewById(R.id.deleteButton);
|
||||||
@ -57,7 +89,7 @@ public class DeviceSettings extends AppCompatActivity {
|
|||||||
public void onClick(View v){
|
public void onClick(View v){
|
||||||
|
|
||||||
DocumentReference docRef = rootRef.collection("users").document(userEmail).collection("rooms").document(room);
|
DocumentReference docRef = rootRef.collection("users").document(userEmail).collection("rooms").document(room);
|
||||||
docRef.update("Urzadzenia", FieldValue.arrayRemove(device));
|
docRef.update("Urzadzenia", FieldValue.arrayRemove(code));
|
||||||
|
|
||||||
finish();
|
finish();
|
||||||
|
|
||||||
|
@ -1,2 +1,18 @@
|
|||||||
package com.example.wrsd;public enum DeviceType {
|
package com.example.wrsd;
|
||||||
|
|
||||||
|
public enum DeviceType {
|
||||||
|
BLINDS("b"),
|
||||||
|
BULB("l"),
|
||||||
|
HEATER("h");
|
||||||
|
|
||||||
|
private String shortCut;
|
||||||
|
|
||||||
|
DeviceType(String shortcut) {
|
||||||
|
this.shortCut = shortcut;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.shortCut;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,37 @@
|
|||||||
package com.example.wrsd;public class HeaterDevice {
|
package com.example.wrsd;
|
||||||
|
|
||||||
|
public class HeaterDevice extends Device {
|
||||||
|
|
||||||
|
public boolean state;
|
||||||
|
|
||||||
|
public int temperature;
|
||||||
|
|
||||||
|
public HeaterDevice(String id, String name) {
|
||||||
|
super(id, name, DeviceType.HEATER);
|
||||||
|
this.state = false;
|
||||||
|
this.temperature = 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(boolean state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getTemperature() {
|
||||||
|
return temperature;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTemperature(int temperature) {
|
||||||
|
this.temperature = temperature;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
String stateString = state? "1" : "0";
|
||||||
|
String temperatureString = Integer.toString(temperature);
|
||||||
|
return deviceType.toString() + name + "?" + stateString + temperatureString;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,8 +28,14 @@ import com.google.firebase.auth.AuthResult;
|
|||||||
import com.google.firebase.auth.FirebaseAuth;
|
import com.google.firebase.auth.FirebaseAuth;
|
||||||
import com.google.firebase.auth.FirebaseUser;
|
import com.google.firebase.auth.FirebaseUser;
|
||||||
import com.google.firebase.database.FirebaseDatabase;
|
import com.google.firebase.database.FirebaseDatabase;
|
||||||
|
import com.google.firebase.firestore.FirebaseFirestore;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import kotlin.text.Typography;
|
import kotlin.text.Typography;
|
||||||
@ -116,6 +122,7 @@ public class RegisterUser extends AppCompatActivity{
|
|||||||
mAuth.createUserWithEmailAndPassword(email, password).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
|
mAuth.createUserWithEmailAndPassword(email, password).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(AuthResult authResult) {
|
public void onSuccess(AuthResult authResult) {
|
||||||
|
Rooms();
|
||||||
Toast.makeText(getApplicationContext(), "Użytkownik zarejestrowany", Toast.LENGTH_LONG).show();
|
Toast.makeText(getApplicationContext(), "Użytkownik zarejestrowany", Toast.LENGTH_LONG).show();
|
||||||
Login();
|
Login();
|
||||||
|
|
||||||
@ -128,7 +135,25 @@ public class RegisterUser extends AppCompatActivity{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Rooms() {
|
||||||
|
String email = editTextEmail.getText().toString().trim();
|
||||||
|
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
|
||||||
|
Map<String, Object> room = new HashMap<>();
|
||||||
|
List<String> rooms = new ArrayList<>();
|
||||||
|
rooms.add("Salon");
|
||||||
|
rooms.add("Sypialnia");
|
||||||
|
rooms.add("Kuchnia");
|
||||||
|
rooms.add("Lazienka");
|
||||||
|
rooms.add("Toaleta");
|
||||||
|
Map<String, Object> docData = new HashMap<>();
|
||||||
|
docData.put("Urzadzenia", Arrays.asList());
|
||||||
|
|
||||||
|
for (String r1 : rooms) {
|
||||||
|
rootRef.collection("users").document(email).collection("rooms").document(r1).set(docData);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void Login() {
|
public void Login() {
|
||||||
Intent intent = new Intent(this, LoginActivity.class);
|
Intent intent = new Intent(this, LoginActivity.class);
|
||||||
|
@ -11,34 +11,20 @@ import android.content.Intent;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.EditText;
|
|
||||||
import android.widget.LinearLayout;
|
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.gms.tasks.OnCompleteListener;
|
|
||||||
import com.google.android.gms.tasks.OnFailureListener;
|
import com.google.android.gms.tasks.OnFailureListener;
|
||||||
import com.google.android.gms.tasks.OnSuccessListener;
|
import com.google.android.gms.tasks.OnSuccessListener;
|
||||||
import com.google.android.gms.tasks.Task;
|
|
||||||
import com.google.firebase.firestore.CollectionReference;
|
|
||||||
import com.google.firebase.firestore.DocumentReference;
|
import com.google.firebase.firestore.DocumentReference;
|
||||||
import com.google.firebase.firestore.DocumentSnapshot;
|
import com.google.firebase.firestore.DocumentSnapshot;
|
||||||
import com.google.firebase.firestore.FieldValue;
|
import com.google.firebase.firestore.FieldValue;
|
||||||
import com.google.firebase.firestore.FirebaseFirestore;
|
import com.google.firebase.firestore.FirebaseFirestore;
|
||||||
import com.google.firebase.firestore.Query;
|
|
||||||
import com.google.firebase.firestore.QueryDocumentSnapshot;
|
|
||||||
import com.google.firebase.firestore.QuerySnapshot;
|
|
||||||
|
|
||||||
import org.w3c.dom.Text;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
@ -51,11 +37,9 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
private RecyclerView recyclerView;
|
private RecyclerView recyclerView;
|
||||||
private SingleRoomAdapter mAdapter;
|
private SingleRoomAdapter mAdapter;
|
||||||
private String userEmail;
|
private String userEmail;
|
||||||
Integer roomIndex;
|
|
||||||
public String roomvalue;
|
public String roomvalue;
|
||||||
private TextView roomName1;
|
private TextView roomName1;
|
||||||
TextView myTextView;
|
TextView myTextView;
|
||||||
private TextView deviceName;
|
|
||||||
|
|
||||||
|
|
||||||
public static void setWindowFlag(Activity activity, final int bits, boolean on) {
|
public static void setWindowFlag(Activity activity, final int bits, boolean on) {
|
||||||
@ -121,28 +105,19 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onSuccess(DocumentSnapshot documentSnapshot) {
|
public void onSuccess(DocumentSnapshot documentSnapshot) {
|
||||||
if (documentSnapshot!=null) {
|
if (documentSnapshot!=null) {
|
||||||
temp.add(documentSnapshot.getData().toString());
|
Map<String, Object> data = documentSnapshot.getData();
|
||||||
if(!temp.get(0).equals("{Urzadzenia=[]}")) {
|
if (data != null) {
|
||||||
|
temp.add(data.toString());
|
||||||
|
if (!temp.get(0).equals("{Urzadzenia=[]}")) {
|
||||||
String[] parts = temp.get(0).split(Pattern.quote("["));
|
String[] parts = temp.get(0).split(Pattern.quote("["));
|
||||||
String[] p2 = parts[1].split(Pattern.quote("]"));
|
String[] p2 = parts[1].split(Pattern.quote("]"));
|
||||||
String[] devices = p2[0].split("(,)|(\\s+)");
|
String[] devices = p2[0].split("(,)|(\\s+)");
|
||||||
for (Integer i = 0; i < devices.length; i = i + 2) {
|
decodeDevices(devices);
|
||||||
deviceFromBase.add(devices[i]);
|
|
||||||
}
|
|
||||||
Device d1;
|
|
||||||
Integer j = 0;
|
|
||||||
|
|
||||||
for (String d : deviceFromBase) {
|
|
||||||
String jStr = Integer.toString(j);
|
|
||||||
d1 = new Device(jStr, d);
|
|
||||||
deviceList.add(d1);
|
|
||||||
}
|
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
Toast.makeText(getApplicationContext(), "Brak urządzeń w pokoju", Toast.LENGTH_LONG).show();
|
Toast.makeText(getApplicationContext(), "Brak urządzeń w pokoju", Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(getApplicationContext(), "Brak urządzeń w pokoju", Toast.LENGTH_LONG).show();
|
Toast.makeText(getApplicationContext(), "Brak urządzeń w pokoju", Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
@ -157,9 +132,35 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void decodeDevices(String[] devicesNames) {
|
||||||
|
for (String deviceName : devicesNames) {
|
||||||
|
decodeDevice(deviceName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void decodeDevice(String encodedDevice) {
|
||||||
|
if (encodedDevice.equals("")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String[] parts = encodedDevice.split("\\?");
|
||||||
|
String deviceType = parts[0].substring(0,1);
|
||||||
|
String deviceName = parts[0].substring(1);
|
||||||
|
String deviceId = getLastUsedId();
|
||||||
|
|
||||||
|
if (deviceType.equals(DeviceType.BLINDS.toString())) {
|
||||||
|
deviceList.add(new BlindsDevice(deviceId, deviceName));
|
||||||
|
} else if (deviceType.equals(DeviceType.BULB.toString())) {
|
||||||
|
deviceList.add(new BulbDevice(deviceId, deviceName));
|
||||||
|
} else if (deviceType.equals(DeviceType.HEATER.toString())) {
|
||||||
|
deviceList.add(new HeaterDevice(deviceId, deviceName));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getLastUsedId() {
|
||||||
|
String lastIdString = deviceList.isEmpty()? "0" : deviceList.get(deviceList.size() - 1).id;
|
||||||
|
int incrementedId = Integer.parseInt(lastIdString) + 1;
|
||||||
|
return Integer.toString(incrementedId);
|
||||||
|
}
|
||||||
|
|
||||||
// CollectionReference usersCol = rootRef.collection("users");
|
// CollectionReference usersCol = rootRef.collection("users");
|
||||||
// Query query = usersCol.whereEqualTo("email", userEmail).whereEqualTo("rooms", roomvalue);
|
// Query query = usersCol.whereEqualTo("email", userEmail).whereEqualTo("rooms", roomvalue);
|
||||||
@ -183,35 +184,6 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
|
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// private void prepareRoomData() {
|
|
||||||
// getData();
|
|
||||||
//
|
|
||||||
// Device d1;
|
|
||||||
// Integer j = 0;
|
|
||||||
//
|
|
||||||
// for(String d: deviceFromBase){
|
|
||||||
// String jStr = Integer.toString(j);
|
|
||||||
// d1 = new Device(jStr, d);
|
|
||||||
// deviceList.add(d1);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// d1 = new Device("1", "Oświetlenie");
|
|
||||||
// deviceList.add(d1);
|
|
||||||
// d1 = new Device("2", "Głośniki");
|
|
||||||
// deviceList.add(d1);
|
|
||||||
// d1 = new Device("3", "Rolety");
|
|
||||||
// deviceList.add(d1);
|
|
||||||
// d1 = new Device("4", "Ogrzewanie");
|
|
||||||
// deviceList.add(d1);
|
|
||||||
// d1 = new Device("5", "Odkurzacz");
|
|
||||||
// deviceList.add(d1);
|
|
||||||
|
|
||||||
// mAdapter.notifyDataSetChanged();
|
|
||||||
// }
|
|
||||||
|
|
||||||
public void onBackClicked(View view) {
|
public void onBackClicked(View view) {
|
||||||
startActivity(new Intent(getApplicationContext(), MainActivity.class));
|
startActivity(new Intent(getApplicationContext(), MainActivity.class));
|
||||||
finish();
|
finish();
|
||||||
@ -229,13 +201,25 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
if(resultCode == RESULT_OK) {
|
if(resultCode == RESULT_OK) {
|
||||||
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
|
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
|
||||||
String strEditText = data.getStringExtra("name");
|
String strEditText = data.getStringExtra("name");
|
||||||
Device d1 = new Device("6", strEditText);
|
String deviceType = data.getStringExtra("type");
|
||||||
deviceList.add(d1);
|
Device newDevice;
|
||||||
|
String deviceId = getLastUsedId();
|
||||||
|
|
||||||
|
if (deviceType.equals("Blinds")) {
|
||||||
|
newDevice = new BlindsDevice(deviceId, strEditText);
|
||||||
|
} else if (deviceType.equals("Bulb")) {
|
||||||
|
newDevice = new BulbDevice(deviceId, strEditText);
|
||||||
|
} else if (deviceType.equals("Heater")) {
|
||||||
|
newDevice = new HeaterDevice(deviceId, strEditText);
|
||||||
|
} else {
|
||||||
|
newDevice = new BlindsDevice(deviceId, strEditText);
|
||||||
|
}
|
||||||
|
deviceList.add(newDevice);
|
||||||
|
|
||||||
mAdapter.notifyDataSetChanged();
|
mAdapter.notifyDataSetChanged();
|
||||||
|
|
||||||
DocumentReference docRef = rootRef.collection("users").document(userEmail).collection("rooms").document(roomvalue);
|
DocumentReference docRef = rootRef.collection("users").document(userEmail).collection("rooms").document(roomvalue);
|
||||||
docRef.update("Urzadzenia", FieldValue.arrayUnion(strEditText));
|
docRef.update("Urzadzenia", FieldValue.arrayUnion(newDevice.toString()));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -245,10 +229,26 @@ public class RoomActivity_1 extends AppCompatActivity {
|
|||||||
|
|
||||||
TextView b = (TextView) view;
|
TextView b = (TextView) view;
|
||||||
String dn = b.getText().toString();
|
String dn = b.getText().toString();
|
||||||
|
String type = "";
|
||||||
|
String code = "";
|
||||||
|
for (Device device : deviceList) {
|
||||||
|
if (device.name.equals(dn)) {
|
||||||
|
code = device.toString();
|
||||||
|
if (device.deviceType == DeviceType.BLINDS) {
|
||||||
|
type = "Blinds";
|
||||||
|
} else if (device.deviceType == DeviceType.BULB) {
|
||||||
|
type = "Bulb";
|
||||||
|
} else if (device.deviceType == DeviceType.HEATER) {
|
||||||
|
type = "Heater";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Intent intent = new Intent(this, DeviceSettings.class);
|
Intent intent = new Intent(this, DeviceSettings.class);
|
||||||
intent.putExtra("device", dn);
|
intent.putExtra("device", dn);
|
||||||
intent.putExtra("email", userEmail);
|
intent.putExtra("email", userEmail);
|
||||||
intent.putExtra("room", roomvalue);
|
intent.putExtra("room", roomvalue);
|
||||||
|
intent.putExtra("type", type);
|
||||||
|
intent.putExtra("code", code);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
finish();
|
finish();
|
||||||
|
|
||||||
|
@ -40,13 +40,25 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.775" />
|
app:layout_constraintVertical_bias="0.775" />
|
||||||
|
|
||||||
|
<Spinner
|
||||||
|
android:id="@+id/deviceTypeDropdown"
|
||||||
|
android:layout_width="216dp"
|
||||||
|
android:layout_height="49dp"
|
||||||
|
android:layout_marginStart="24dp"
|
||||||
|
android:layout_marginBottom="20dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/editTextTextName"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/editTextTextName"
|
||||||
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
tools:ignore="SpeakableTextPresentCheck" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/button2"
|
android:id="@+id/button2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Dodaj"
|
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:onClick="DeviceName"
|
android:onClick="DeviceName"
|
||||||
|
android:text="Dodaj"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.863"
|
app:layout_constraintHorizontal_bias="0.863"
|
||||||
|
@ -16,6 +16,36 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.497"
|
app:layout_constraintHorizontal_bias="0.497"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toBottomOf="@+id/progress"
|
||||||
app:layout_constraintVertical_bias="0.136" />
|
app:layout_constraintVertical_bias="0.136" />
|
||||||
|
|
||||||
|
<SeekBar
|
||||||
|
android:id="@+id/progress"
|
||||||
|
android:layout_width="142dp"
|
||||||
|
android:layout_height="23dp"
|
||||||
|
android:layout_marginTop="28dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintHorizontal_bias="0.498"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/progressLabel" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/progressLabel"
|
||||||
|
android:layout_width="93dp"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_marginTop="28dp"
|
||||||
|
android:text="TextView"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/state" />
|
||||||
|
|
||||||
|
<Switch
|
||||||
|
android:id="@+id/state"
|
||||||
|
android:layout_width="117dp"
|
||||||
|
android:layout_height="59dp"
|
||||||
|
android:layout_marginTop="48dp"
|
||||||
|
android:text="Switch"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,10 +0,0 @@
|
|||||||
## This file is automatically generated by Android Studio.
|
|
||||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
|
||||||
#
|
|
||||||
# This file should *NOT* be checked into Version Control Systems,
|
|
||||||
# as it contains information specific to your local configuration.
|
|
||||||
#
|
|
||||||
# Location of the SDK. This is only used by Gradle.
|
|
||||||
# For customization when using a Version Control System, please read the
|
|
||||||
# header note.
|
|
||||||
sdk.dir=C\:\\Users\\Acer\\AppData\\Local\\Android\\Sdk
|
|
Loading…
Reference in New Issue
Block a user