@ -0,0 +1,119 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.ProgressDialog; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.ImageButton; | |||
import android.widget.TextView; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
public class ApprovalListActivity extends AppCompatActivity { | |||
ImageButton back; | |||
TextView RequestIDVal,EmployeeIDVal,EmployeeNameVal,LDateVal,LTimeOutVal,LTimeInVal,NoOfHrsVal,LeaveTypeVal,ApproverIDVal,ApproverNameVal,ReasonVal; | |||
String RequestID,EmployeeID,EmployeeName,LDate,LTimeOut,LTimeIn,NoOfHrs,LeaveType,ApproverID,ApproverName,Reason; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_approval_list); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
onBackPressed(); | |||
} | |||
}); | |||
PermissionApprovalList(); | |||
RequestIDVal = findViewById(R.id.RequestIDVal); | |||
EmployeeIDVal = findViewById(R.id.EmployeeIDVal); | |||
EmployeeNameVal = findViewById(R.id.EmployeeNameVal); | |||
LDateVal = findViewById(R.id.LDateVal); | |||
LTimeOutVal = findViewById(R.id.LTimeOutVal); | |||
LTimeInVal = findViewById(R.id.LTimeInVal); | |||
NoOfHrsVal = findViewById(R.id.NoOfHrsVal); | |||
LeaveTypeVal = findViewById(R.id.LeaveTypeVal); | |||
ApproverIDVal = findViewById(R.id.ApproverIDVal); | |||
ApproverNameVal = findViewById(R.id.ApproverNameVal); | |||
ReasonVal = findViewById(R.id.ReasonVal); | |||
} | |||
public void PermissionApprovalList(){ | |||
final ProgressDialog loading = ProgressDialog.show(ApprovalListActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionApprovallist?ApproverID=27256"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONArray jsonArray=new JSONArray(response); | |||
JSONObject jb1=jsonArray.getJSONObject(0); | |||
RequestID = jb1.getString("RequestID"); | |||
EmployeeID = jb1.getString("EmployeeID"); | |||
EmployeeName = jb1.getString("EmployeeName"); | |||
LDate = jb1.getString("LDate"); | |||
LTimeOut = jb1.getString("LTimeOut"); | |||
LTimeIn = jb1.getString("LTimeIn"); | |||
NoOfHrs = jb1.getString("NoOfHrs"); | |||
LeaveType = jb1.getString("LeaveType"); | |||
ApproverID = jb1.getString("ApproverID"); | |||
ApproverName = jb1.getString("ApproverName"); | |||
Reason = jb1.getString("Reason"); | |||
RequestIDVal.setText(RequestID); | |||
EmployeeIDVal.setText(EmployeeID); | |||
EmployeeNameVal.setText(EmployeeName); | |||
LDateVal.setText(LDate); | |||
LTimeOutVal.setText(LTimeOut); | |||
LTimeInVal.setText(LTimeIn); | |||
NoOfHrsVal.setText(NoOfHrs); | |||
LeaveTypeVal.setText(LeaveType); | |||
ApproverIDVal.setText(ApproverID); | |||
ApproverNameVal.setText(ApproverName); | |||
ReasonVal.setText(Reason); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(ApprovalListActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
}; | |||
Volley.newRequestQueue(ApprovalListActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,211 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import androidx.core.app.ActivityCompat; | |||
import androidx.core.content.ContextCompat; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.content.pm.PackageManager; | |||
import android.location.Location; | |||
import android.os.Bundle; | |||
import android.util.Log; | |||
import android.view.View; | |||
import android.widget.TextView; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.visionlab.femdemo.register.RegisterActivity; | |||
public class CheckInNewActivity extends AppCompatActivity { | |||
TextView btnCheckIn,btnCheckOut; | |||
private static final int LOCATION_PERMISSION_REQUEST_CODE = 1; | |||
String targetLat1="",targetlat2="",targetLon1="",targetLon2=""; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_check_in_new); | |||
/*new SweetAlertDialog(CheckInNewActivity.this, SweetAlertDialog.SUCCESS_TYPE) | |||
.setTitleText("You have successfully checked out.") | |||
.setConfirmText("Face recognition") | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
} | |||
}) | |||
.setContentText("Thank you.").show();*/ | |||
btnCheckIn = findViewById(R.id.btnCheckIn); | |||
btnCheckIn.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
System.out.println("Clicked check in button"); | |||
//requestLocationUpdates(); | |||
if (ContextCompat.checkSelfPermission(CheckInNewActivity.this, android.Manifest.permission.ACCESS_FINE_LOCATION) | |||
== PackageManager.PERMISSION_GRANTED) { | |||
// Permission granted, so request location updates | |||
//requestLocationUpdates(); | |||
targetLocationListFromCheckIn(); | |||
} else { | |||
// Permission not granted, request it | |||
ActivityCompat.requestPermissions(CheckInNewActivity.this, | |||
new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION}, | |||
LOCATION_PERMISSION_REQUEST_CODE); | |||
} | |||
} | |||
}); | |||
} | |||
public void targetLocationListFromCheckIn(){ | |||
final ProgressDialog loading = ProgressDialog.show(CheckInNewActivity.this, "Checking location", "Please wait while checking", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/EmployeeLocation?employeeid=29034"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
Log.d("data-=>",response); | |||
try { | |||
JSONObject jsonObject=new JSONObject(response); | |||
JSONArray jsonArray=jsonObject.getJSONArray("_lstEmployee_Location"); | |||
/*for(int i=0;i<jsonArray.length();i++){ | |||
JSONObject jb1=jsonArray.getJSONObject(i); | |||
targetLat1=jb1.getString("Latitude"); | |||
}*/ | |||
JSONObject jb1=jsonArray.getJSONObject(0); | |||
targetLat1= jb1.getString("Latitude"); | |||
targetLon1 = jb1.getString("Longitude"); | |||
JSONObject jb2=jsonArray.getJSONObject(1); | |||
targetlat2 = jb2.getString("Latitude"); | |||
targetLon2 = jb2.getString("Longitude"); | |||
Log.d("Lov",targetLat1 + " " + targetlat2); | |||
Location target = new Location(""); | |||
target.setLatitude(Double.parseDouble(targetLat1)); | |||
target.setLongitude(Double.parseDouble(targetLon1)); | |||
Location current = new Location(""); | |||
current.setLatitude(Double.parseDouble(targetlat2)); | |||
current.setLongitude(Double.parseDouble(targetLon2)); | |||
float distance = current.distanceTo(target); | |||
System.out.println("Distance: "+distance); | |||
if(distance<500){ | |||
Toast.makeText(CheckInNewActivity.this, "You are out of range!Please get back to location", Toast.LENGTH_SHORT).show(); | |||
} | |||
else{ | |||
Toast.makeText(CheckInNewActivity.this, "Attendance ready to be captured", Toast.LENGTH_SHORT).show(); | |||
checkIn(); | |||
/*Intent intent = new Intent(CheckInActivity.this, RegisterActivity.class); | |||
intent.putExtra("FromLoginPage",true); | |||
startActivity(intent);*/ | |||
} | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
loading.dismiss(); | |||
Toast.makeText(CheckInNewActivity.this, "Data added to API", Toast.LENGTH_SHORT).show(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(CheckInNewActivity.this, "Fail to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
}; | |||
Volley.newRequestQueue(CheckInNewActivity.this).add(stringRequest); | |||
} | |||
public void checkIn(){ | |||
final ProgressDialog loading = ProgressDialog.show(CheckInNewActivity.this, "Checking in", "Please wait while checking", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/CheckIn"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
Log.d("data-=>",response); | |||
Toast.makeText(CheckInNewActivity.this, "Attendance captured", Toast.LENGTH_SHORT).show(); | |||
Intent intent = new Intent(CheckInNewActivity.this, RegisterActivity.class); | |||
intent.putExtra("FromLoginPage",true); | |||
intent.putExtra("FromNewCheck",true); | |||
startActivity(intent); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(CheckInNewActivity.this, "Fail to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
params.put("employeeid", "101"); | |||
params.put("location", "loca1"); | |||
params.put("latitude", "10.235"); | |||
params.put("longitude", "55.666"); | |||
params.put("checkintime", "10/07/2023 12:10:05"); | |||
params.put("locStateDevice", "1"); | |||
params.put("locStateApp", "1"); | |||
params.put("batteryPercent", "1"); | |||
params.put("cellInfo", "1"); | |||
params.put("accuracy", "1"); | |||
params.put("locTS", "1"); | |||
params.put("spoofingEnb", "0"); | |||
params.put("providerNetTime", "10/07/2023 12:10:05"); | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(CheckInNewActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,47 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.content.Intent; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
public class LeaveRequestActivity extends AppCompatActivity { | |||
LinearLayout lin1,lin2; | |||
ImageButton back; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_leave_request); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
onBackPressed(); | |||
} | |||
}); | |||
lin1 = findViewById(R.id.lin1); | |||
lin1.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(LeaveRequestActivity.this, LeaveRequestDetailsActivity.class); | |||
startActivity(intent); | |||
} | |||
}); | |||
lin2 = findViewById(R.id.lin2); | |||
lin2.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(LeaveRequestActivity.this, LeaveRequestDetailsActivity.class); | |||
startActivity(intent); | |||
} | |||
}); | |||
} | |||
} |
@ -0,0 +1,115 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.ProgressDialog; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.Button; | |||
import android.widget.ImageButton; | |||
import android.widget.ImageView; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import ru.visionlab.femdemo.R; | |||
public class LeaveRequestDetailsActivity extends AppCompatActivity { | |||
Button btnapprove,btnreject; | |||
ImageButton back; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_leave_request_details); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
onBackPressed(); | |||
} | |||
}); | |||
btnapprove = findViewById(R.id.btnapprove); | |||
btnapprove.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
PermissionApprovalAction(); | |||
} | |||
}); | |||
btnreject = findViewById(R.id.btnreject); | |||
} | |||
public void PermissionApprovalAction(){ | |||
final ProgressDialog loading = ProgressDialog.show(LeaveRequestDetailsActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionApprovalAction"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONObject jsonObject = new JSONObject(response); | |||
String _statusMessage3 = jsonObject.getString("_statusMessage"); | |||
System.out.println("_statusMessage "+_statusMessage3); | |||
if(_statusMessage3.equals("Saved Successfully")){ | |||
Toast.makeText(LeaveRequestDetailsActivity.this, "Current Status :A", Toast.LENGTH_SHORT).show(); | |||
} | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(LeaveRequestDetailsActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
params.put("permissionID", "27507"); | |||
params.put("eleavetype", "27256"); | |||
params.put("actionby", "asaif"); | |||
params.put("remark", "Testing Approve"); | |||
params.put("actionflag", "A"); | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(LeaveRequestDetailsActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,383 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.ProgressDialog; | |||
import android.app.TimePickerDialog; | |||
import android.content.Intent; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.AdapterView; | |||
import android.widget.ArrayAdapter; | |||
import android.widget.Button; | |||
import android.widget.EditText; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
import android.widget.Spinner; | |||
import android.widget.TextView; | |||
import android.widget.TimePicker; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import java.util.Calendar; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import ru.visionlab.femdemo.R; | |||
import ru.visionlab.femdemo.login.LoginActivity; | |||
public class PermissionRequestActivity extends AppCompatActivity { | |||
ImageButton back; | |||
Button btnSubmit,btn_private; | |||
String _statusMessage; | |||
EditText edtRemarks; | |||
String remarks=""; | |||
LinearLayout timePickerFrom,timePickerTo; | |||
private int mDay, mHour, mMinute; | |||
TextView textTimeFrom,textTimeTo; | |||
LinearLayout linearLayout1; | |||
Spinner spinner; | |||
String permission_type; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_permission_request); | |||
linearLayout1 = findViewById(R.id.linearLayout1); | |||
IsELeaveApprover(); | |||
//PermissionInsert(); | |||
PermissionApprovalList(); | |||
PermissionTypes(); | |||
spinner = findViewById(R.id.spinner); | |||
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_items, android.R.layout.simple_spinner_item); | |||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | |||
spinner.setAdapter(adapter); | |||
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |||
@Override | |||
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { | |||
// Handle the selected item here | |||
permission_type = parentView.getItemAtPosition(position).toString(); | |||
System.out.println("Value of permission_type "+permission_type); | |||
// Do something with the selected item | |||
} | |||
@Override | |||
public void onNothingSelected(AdapterView<?> parentView) { | |||
// Handle the case where nothing is selected (if needed) | |||
} | |||
}); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
/*Intent intent = new Intent(PermissionRequestActivity.this, CheckInActivity.class); | |||
intent.putExtra("backToCheck",true); | |||
startActivity(intent);*/ | |||
onBackPressed(); | |||
} | |||
}); | |||
btn_private = findViewById(R.id.btn_private); | |||
btn_private.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(PermissionRequestActivity.this, LeaveRequestActivity.class); | |||
startActivity(intent); | |||
} | |||
}); | |||
btnSubmit = findViewById(R.id.btnSubmit); | |||
btnSubmit.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
getPermission(); | |||
} | |||
}); | |||
edtRemarks = findViewById(R.id.edtRemarks); | |||
timePickerFrom = findViewById(R.id.timePickerFrom); | |||
textTimeFrom = findViewById(R.id.textTimeFrom); | |||
timePickerFrom.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
final Calendar c = Calendar.getInstance(); | |||
mHour = c.get(Calendar.HOUR_OF_DAY); | |||
mMinute = c.get(Calendar.MINUTE); | |||
// Launch Time Picker Dialog | |||
TimePickerDialog timePickerDialog = new TimePickerDialog(PermissionRequestActivity.this, | |||
new android.app.TimePickerDialog.OnTimeSetListener() { | |||
@Override | |||
public void onTimeSet(TimePicker view, int hourOfDay, | |||
int minute) { | |||
textTimeFrom.setText(hourOfDay + ":" + minute); | |||
} | |||
}, mHour, mMinute, false); | |||
timePickerDialog.show(); | |||
} | |||
}); | |||
timePickerTo = findViewById(R.id.timePickerTo); | |||
textTimeTo = findViewById(R.id.textTimeTo); | |||
timePickerTo.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
final Calendar c = Calendar.getInstance(); | |||
mHour = c.get(Calendar.HOUR_OF_DAY); | |||
mMinute = c.get(Calendar.MINUTE); | |||
// Launch Time Picker Dialog | |||
TimePickerDialog timePickerDialog = new TimePickerDialog(PermissionRequestActivity.this, | |||
new android.app.TimePickerDialog.OnTimeSetListener() { | |||
@Override | |||
public void onTimeSet(TimePicker view, int hourOfDay, | |||
int minute) { | |||
textTimeTo.setText(hourOfDay + ":" + minute); | |||
} | |||
}, mHour, mMinute, false); | |||
timePickerDialog.show(); | |||
} | |||
}); | |||
} | |||
public void getPermission(){ | |||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||
remarks = edtRemarks.getText().toString(); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionInsert"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
JSONObject jsonObject= null; | |||
try { | |||
jsonObject = new JSONObject(response); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
try { | |||
_statusMessage = jsonObject.getString("_statusMessage"); | |||
System.out.println("Status message: "+_statusMessage); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
Toast.makeText(PermissionRequestActivity.this, _statusMessage, Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
params.put("employeeid", "101"); | |||
params.put("eleavetype", "P"); | |||
params.put("datedaytype", "Today"); | |||
params.put("fromtime", "13:22"); | |||
params.put("totime", "15:22"); | |||
params.put("reason", remarks); | |||
params.put("attachment", ""); | |||
params.put("userid", "a"); | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||
} | |||
public void IsELeaveApprover(){ | |||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/IsELeaveApprover?employeeid=29034"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONArray jsonArray=new JSONArray(response); | |||
JSONObject jb1=jsonArray.getJSONObject(0); | |||
boolean _approverstatus=jb1.getBoolean("_approverstatus"); | |||
if(!_approverstatus){ | |||
linearLayout1.setVisibility(View.GONE); | |||
} | |||
System.out.println("_approverstatus " + _approverstatus); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
}; | |||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||
} | |||
public void PermissionInsert(){ | |||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionInsert"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONObject jsonObject = new JSONObject(response); | |||
String _statusMessage = jsonObject.getString("_statusMessage"); | |||
System.out.println("_statusMessage "+_statusMessage); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
params.put("employeeid", "101"); | |||
params.put("eleavetype", "P"); | |||
params.put("datedaytype", "Today"); | |||
params.put("fromtime", "13:22"); | |||
params.put("totime", "15:22"); | |||
params.put("reason", "Meeting"); | |||
params.put("attachment", ""); | |||
params.put("userid", "a"); | |||
params.put("startdate", "demouser1"); | |||
params.put("enddate", ""); | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||
} | |||
public void PermissionApprovalList(){ | |||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionApprovallist?ApproverID=27256"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
Toast.makeText(PermissionRequestActivity.this, "Response successful1", Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
}; | |||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||
} | |||
public void PermissionTypes(){ | |||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/PermissionTypes"; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
Toast.makeText(PermissionRequestActivity.this, "Response successful2", Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
}; | |||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,565 @@ | |||
package ru.visionlab.femdemo; | |||
import android.Manifest; | |||
import android.annotation.SuppressLint; | |||
import android.content.Intent; | |||
import android.graphics.Bitmap; | |||
import android.media.MediaScannerConnection; | |||
import android.net.Uri; | |||
import android.os.Bundle; | |||
import android.os.Environment; | |||
import android.os.Handler; | |||
import android.provider.MediaStore; | |||
import android.util.Base64; | |||
import android.util.Log; | |||
import android.view.MenuItem; | |||
import android.view.View; | |||
import android.widget.Button; | |||
import android.widget.EditText; | |||
import android.widget.ImageButton; | |||
import android.widget.ImageView; | |||
import android.widget.Toast; | |||
import androidx.annotation.Nullable; | |||
import androidx.appcompat.app.ActionBar; | |||
import androidx.appcompat.widget.Toolbar; | |||
import androidx.fragment.app.Fragment; | |||
import androidx.fragment.app.FragmentManager; | |||
import com.tbruyelle.rxpermissions.RxPermissions; | |||
import java.io.ByteArrayOutputStream; | |||
import java.io.File; | |||
import java.io.FileOutputStream; | |||
import java.net.SocketException; | |||
import java.util.List; | |||
import javax.inject.Inject; | |||
import butterknife.BindView; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.PreferenceManager.PreferenceManager; | |||
import ru.visionlab.femdemo.CheckInActivity; | |||
import ru.visionlab.femdemo.Config; | |||
import ru.visionlab.femdemo.Core.PhotoProcessor; | |||
import ru.visionlab.femdemo.App; | |||
import ru.visionlab.femdemo.BuildConfig; | |||
import ru.visionlab.femdemo.LocationHelper; | |||
import ru.visionlab.femdemo.R; | |||
import ru.visionlab.femdemo.Storage; | |||
import ru.visionlab.femdemo.Utils; | |||
import ru.visionlab.femdemo.api.RegisterApiImplLuna2; | |||
import ru.visionlab.femdemo.api.RegisterApiImplLocal; | |||
import ru.visionlab.femdemo.api.RegisterApiInterface; | |||
import ru.visionlab.femdemo.api.VLApi; | |||
import ru.visionlab.femdemo.api.VerifyApiImplLuna2; | |||
import ru.visionlab.femdemo.api.VerifyApiImplLunaLocal; | |||
import ru.visionlab.femdemo.api.VerifyApiInterface; | |||
import ru.visionlab.femdemo.authentication.AuthSuccessActivity; | |||
import ru.visionlab.femdemo.authentication.AuthenticationActivity; | |||
import ru.visionlab.femdemo.authentication.FaceNotRecognizedFragment; | |||
import ru.visionlab.femdemo.base.PhotoFragment; | |||
import ru.visionlab.femdemo.base.ToolbarActivity; | |||
import ru.visionlab.femdemo.login.LoginActivity; | |||
import ru.visionlab.femdemo.login.LoginActivityNew; | |||
import ru.visionlab.femdemo.models.SearchResult; | |||
import ru.visionlab.femdemo.models.SearchResultPerson; | |||
import ru.visionlab.femdemo.register.FaceNotFoundFragment; | |||
import ru.visionlab.femdemo.register.RegisterFragment; | |||
import ru.visionlab.femdemo.register.RegistrationModel; | |||
import ru.visionlab.femdemo.register.SavePhotoFragment; | |||
import ru.visionlab.femdemo.settings.VLPreferences; | |||
public class RegisterFromCheckActivity extends ToolbarActivity implements RegisterFragment.Listener, PhotoFragment.Listener, | |||
SavePhotoFragment.Listener, FaceNotFoundFragment.Listener, RegisterApiInterface.Listener, VerifyApiInterface.Listener, FaceNotRecognizedFragment.Listener{ | |||
public static final String REGISTER_FRAGMENT = "REGISTER FRAGMENT"; | |||
public static final String PHOTO_FRAGMENT = "PHOTO_FRAGMENT"; | |||
public static final String SAVE_PHOTO_FRAGMENT = "SAVE PHOTO FRAGMENT"; | |||
public static final String FACE_NOT_FOUND_FRAGMENT = "FACE NOT FOUND FRAGMENT"; | |||
public static final String SAVE_PHOTO_NAME = "PhotomakerAndroidDemo Registration Photo"; | |||
private Thread thread; | |||
EditText compId,username,otp; | |||
String company_ID="",user="",OTP=""; | |||
@Inject | |||
VLPreferences preferences; | |||
@Inject | |||
VLApi api; | |||
@Inject | |||
LocationHelper locationHelper; | |||
@Inject | |||
PhotoProcessor photoProcessor; | |||
@Nullable | |||
@BindView(R.id.toolbar) | |||
Toolbar toolbar; | |||
Bitmap bitmap; | |||
RegistrationModel registrationModel; | |||
ImageButton back_img; | |||
Button verifynproceed; | |||
ImageView photo; | |||
private static final int pic_id = 123; | |||
PreferenceManager preferenceManager; | |||
Bitmap photo2=null; | |||
Button save,retry; | |||
String encodedImage=""; | |||
boolean fromLoginPage,FromNewCheck; | |||
private PhotoFragment fragment; | |||
String login; | |||
private long verifEndTime; | |||
private long verifStartTime; | |||
private int faceFailCount; | |||
private boolean goingSomewhere = false; | |||
@SuppressLint("MissingInflatedId") | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
((App) getApplication()).getComponent().inject(this); | |||
setContentView(R.layout.activity_register); | |||
//ButterKnife.bind(this); | |||
setToolbar(); | |||
Intent intent = getIntent(); | |||
fromLoginPage = intent.getBooleanExtra("FromLoginPage",true); | |||
System.out.println("Value of FromLoginPage "+fromLoginPage); | |||
if(fromLoginPage){ | |||
showPhotoScreen(); | |||
} | |||
else { | |||
showRegisterScreen(); | |||
} | |||
FromNewCheck = intent.getBooleanExtra("FromLoginPage",false); | |||
System.out.println("Value of FromNewCheck "+FromNewCheck); | |||
/*back_img.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); | |||
startActivity(intent); | |||
} | |||
});*/ | |||
// compId = findViewById(R.id.compId); | |||
// username = findViewById(R.id.username); | |||
// otp = findViewById(R.id.otp); | |||
// company_ID = compId.getText().toString().trim(); | |||
// user = username.getText().toString().trim(); | |||
// OTP = otp.getText().toString().trim(); | |||
/*verifynproceed = findViewById(R.id.verifynproceed); | |||
verifynproceed.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
if(company_ID.equals("002") *//*&& user.equals("34") *//* && OTP.equals("444")){ | |||
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); | |||
startActivity(intent); | |||
} | |||
} | |||
});*/ | |||
preferenceManager=PreferenceManager.getInstance(this); | |||
} | |||
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |||
super.onActivityResult(requestCode, resultCode, data); | |||
// Match the request 'pic id with requestCode | |||
if (requestCode == pic_id) { | |||
// BitMap is data structure of image file which store the image in memory | |||
photo2 = (Bitmap) data.getExtras().get("data"); | |||
// Set the image in imageview for display | |||
if(photo2.equals("") || photo2==null){ | |||
photo.setBackgroundResource(R.drawable.user1); | |||
} | |||
else { | |||
photo.setImageDrawable(null); | |||
photo.setImageBitmap(photo2); | |||
System.out.println("imageview "+ photo.getDrawable()); | |||
System.out.println("imageview photo2 "+ photo2); | |||
Toast.makeText(this, "Image set", Toast.LENGTH_SHORT).show(); | |||
} | |||
} | |||
} | |||
@Override | |||
protected void onDestroy() | |||
{ | |||
photoProcessor.release(); | |||
super.onDestroy(); | |||
} | |||
private void showRegisterScreen() { | |||
final RegisterFragment fragment = RegisterFragment.newInstance(); | |||
fragment.setListener(this); | |||
getSupportFragmentManager() | |||
.beginTransaction() | |||
.replace(R.id.container, fragment, PHOTO_FRAGMENT) | |||
.addToBackStack(fragment.toString()) | |||
.commit(); | |||
} | |||
private void setToolbar() { | |||
setSupportActionBar(toolbar); | |||
final ActionBar actionBar = getSupportActionBar(); | |||
if (actionBar != null) { | |||
actionBar.setDisplayHomeAsUpEnabled(true); | |||
actionBar.setDisplayShowHomeEnabled(true); | |||
} | |||
} | |||
@Override | |||
public void onBackPressed() { | |||
Log.i("STATUS","STACK COUNT "+getSupportFragmentManager().getBackStackEntryCount()); | |||
preferences.setStartTime(String.valueOf(System.currentTimeMillis())); | |||
if (getSupportFragmentManager().getBackStackEntryCount() > 1) { | |||
getSupportFragmentManager().popBackStack(); | |||
} else { | |||
super.onBackPressed(); | |||
} | |||
} | |||
@Override | |||
public void onSignUpClick(RegistrationModel registrationModel) { | |||
if((!BuildConfig.IS_OFFLINE_VERSION) && preferences.getLuna2()) { | |||
thread = new Thread(() -> { | |||
Storage.getInstance().updateDatabase(preferences.getLuna2Server(), preferences.getEncodedUserData(), api, preferences.getServerChanged()); | |||
}); | |||
thread.start(); | |||
} | |||
this.registrationModel = registrationModel; | |||
Utils.hideKeyboard(this, getCurrentFocus()); | |||
new Handler().post(this::showPhotoScreen); | |||
} | |||
private void showPhotoScreen() { | |||
fragment = PhotoFragment.newInstance(); | |||
fragment.setPhotoProcessor(photoProcessor); | |||
fragment.setListener(this); | |||
fragment.enableLivenessCheck(false); | |||
preferences.setStartTime(String.valueOf(System.currentTimeMillis())); | |||
preferences.setNeedPortrait(false); | |||
System.out.println("Inside photo screen method"); | |||
getSupportFragmentManager() | |||
.beginTransaction() | |||
.replace(R.id.container, fragment, PHOTO_FRAGMENT) | |||
.addToBackStack(fragment.toString()) | |||
.commit(); | |||
} | |||
private void showPhotoReadyScreen(Bitmap bitmap) { | |||
final SavePhotoFragment fragment = SavePhotoFragment.newInstance(); | |||
fragment.setPhoto(bitmap); | |||
fragment.setListener(this); | |||
getSupportFragmentManager() | |||
.beginTransaction() | |||
.replace(R.id.container, fragment, SAVE_PHOTO_FRAGMENT) | |||
.addToBackStack(fragment.toString()) | |||
.commit(); | |||
System.out.println("Inside save photo screen method"); | |||
} | |||
@Override | |||
public void onBestFrameReady(Bitmap bitmap) { | |||
this.bitmap = bitmap; | |||
if(fromLoginPage){ | |||
verifyPhoto(bitmap); | |||
} | |||
showPhotoReadyScreen(bitmap); | |||
} | |||
private void verifyPhoto(Bitmap bitmap){ | |||
fragment.showWaitState(); | |||
login=preferences.getUsername(); | |||
System.out.println("Value of login while verification " + login); | |||
try { | |||
if (thread != null) | |||
thread.join(); | |||
}catch (InterruptedException e) { | |||
e.printStackTrace(); | |||
} | |||
VerifyApiInterface verifyApi; | |||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||
verifyApi = new VerifyApiImplLunaLocal(this, photoProcessor, login, this); | |||
} else { //if (preferences.getLuna2()) { | |||
Log.i("LUNA2 ", preferences.getLuna2Server()); | |||
verifyApi = new VerifyApiImplLuna2(this, preferences.getLuna2Server(), login, api, this, bitmap, preferences.getEncodedUserData()); | |||
} | |||
verifStartTime = System.nanoTime(); | |||
verifyApi.verifyPerson(); | |||
} | |||
@Override | |||
public void onTimeout(FaceNotFoundFragment.Reason reason) { | |||
final FaceNotFoundFragment fragment = FaceNotFoundFragment.newInstance(); | |||
fragment.setReason(reason); | |||
fragment.setListener(this); | |||
getSupportFragmentManager() | |||
.beginTransaction() | |||
.replace(R.id.container, fragment, FACE_NOT_FOUND_FRAGMENT) | |||
.addToBackStack(fragment.toString()) | |||
.commit(); | |||
} | |||
@Override | |||
public void onNeedCameraPermission() { | |||
goToAppDetails(R.string.permission_need_for_register); | |||
} | |||
@Override | |||
public void onInteractionWaitingOpenedEyes() {} | |||
@Override | |||
public void onTimeout(){} | |||
@Override | |||
public void onLivenessResult(int livenessState, int blinkState, int livenessType){} | |||
@Override | |||
public void onRetryClick() { | |||
onBackPressed(); | |||
} | |||
@Override | |||
public boolean onOptionsItemSelected(MenuItem menuItem) { | |||
if (menuItem.getItemId() == android.R.id.home) { | |||
if (getSupportFragmentManager().findFragmentByTag(SAVE_PHOTO_FRAGMENT) != null) { | |||
getSupportFragmentManager().popBackStack(); | |||
getSupportFragmentManager().popBackStack(); | |||
return true; | |||
} | |||
} | |||
return super.onOptionsItemSelected(menuItem); | |||
} | |||
@Override | |||
public void onSaveClick() { | |||
registerPerson(); | |||
} | |||
private void registerPerson() { | |||
RegisterApiInterface registerApi; | |||
try { | |||
if (thread != null) { | |||
thread.join(); | |||
} | |||
}catch (InterruptedException e){ | |||
e.printStackTrace(); | |||
} | |||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||
registerApi = new RegisterApiImplLocal(this, registrationModel, photoProcessor, this, bitmap); | |||
} else { | |||
registerApi = new RegisterApiImplLuna2(this, preferences.getLuna2Server(), registrationModel, api, locationHelper, this, bitmap, preferences.getEncodedUserData()); | |||
} | |||
registerApi.registerPerson(); | |||
} | |||
private void SaveBitmapToGallery(Bitmap finalBitmap) { | |||
String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString(); | |||
File myDir = new File(root + "/saved_images"); | |||
myDir.mkdirs(); | |||
File file = null; | |||
int num = 0; | |||
// find next name | |||
do { | |||
try { | |||
file = new File (myDir, new String(SAVE_PHOTO_NAME + num + ".jpg")); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
break; | |||
} | |||
++num; | |||
} | |||
while(file.exists()); | |||
try { | |||
FileOutputStream out = new FileOutputStream(file); | |||
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 50, out); | |||
out.flush(); | |||
out.close(); | |||
} catch (Exception e) { | |||
e.printStackTrace(); | |||
} | |||
// Tell the media scanner about the new file so that it is | |||
// immediately available to the user. | |||
MediaScannerConnection.scanFile(this, new String[] { file.toString() }, null, | |||
new MediaScannerConnection.OnScanCompletedListener() { | |||
public void onScanCompleted(String path, Uri uri) { | |||
Log.i("ExternalStorage", "Scanned " + path + ":"); | |||
Log.i("ExternalStorage", "-> uri=" + uri); | |||
} | |||
}); | |||
System.out.println("Inside saving image method"); | |||
} | |||
@Override | |||
public void onRegistrationFail(Throwable throwable) { | |||
if(throwable instanceof RegisterApiImplLuna2.InternetConnectionException){ | |||
Toast.makeText(this,getResources().getString(R.string.bad_internet_conneciton), Toast.LENGTH_LONG).show(); | |||
}else if(throwable instanceof RegisterApiImplLuna2.SocketTimeOutException || | |||
throwable instanceof SocketException) { | |||
Toast.makeText(this,getResources().getString(R.string.TimeOut), Toast.LENGTH_LONG).show(); | |||
}else if(throwable instanceof RegisterApiImplLuna2.WrongAccDataException){ | |||
Toast.makeText(this,getResources().getString(R.string.bad_acc_data), Toast.LENGTH_LONG).show(); | |||
}else if(throwable instanceof RegisterApiImplLuna2.WrongServAddrException || | |||
throwable instanceof IllegalArgumentException){ | |||
Toast.makeText(this,getResources().getString(R.string.bad_server_address), Toast.LENGTH_LONG).show(); | |||
}else if(throwable instanceof retrofit2.adapter.rxjava.HttpException ){ | |||
Toast.makeText(this,throwable.getMessage(), Toast.LENGTH_LONG).show(); | |||
} | |||
else if(throwable instanceof RegisterApiImplLocal.DescriptorNotExtractedException) { | |||
Toast.makeText(this,throwable.getMessage(), Toast.LENGTH_LONG).show(); | |||
} | |||
if(preferences.getLuna2()){ | |||
Storage.getInstance().clearConnectionFlags(); | |||
} | |||
if (getSupportFragmentManager().findFragmentByTag(SAVE_PHOTO_FRAGMENT) != null) { | |||
getSupportFragmentManager().popBackStack(); | |||
getSupportFragmentManager().popBackStack(); | |||
} | |||
} | |||
@Override | |||
public void onRegistrationSuccess() { | |||
preferences.setServerChanged(false); | |||
if (preferences.getSavePhoto()) { | |||
RxPermissions.getInstance(this) | |||
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) | |||
.subscribe(granted -> { | |||
if (granted) { | |||
SaveBitmapToGallery(bitmap); | |||
Toast.makeText(this, R.string.photo_saved_to_gallery, Toast.LENGTH_SHORT).show(); | |||
} else { | |||
Toast.makeText(this, R.string.permission_need_for_write_external, Toast.LENGTH_SHORT).show(); | |||
} | |||
// finish on any case | |||
finishRegistration(); | |||
}); | |||
} | |||
else | |||
{ | |||
finishRegistration(); | |||
} | |||
} | |||
private void finishRegistration() | |||
{ | |||
preferences.setUsername(registrationModel.login); | |||
// preferences.setPin(registrationModel.password); | |||
Intent intent = new Intent(RegisterFromCheckActivity.this, LoginActivityNew.class); | |||
startActivity(intent); | |||
finish(); | |||
} | |||
@Override | |||
public void onVerificationSuccess(SearchResult searchResult) { | |||
verifEndTime = System.nanoTime(); | |||
preferences.setServerChanged(false); | |||
final List<SearchResultPerson> persons = searchResult.getPersons(); | |||
if (persons != null && !persons.isEmpty()) { | |||
final SearchResultPerson person = persons.get(0); | |||
if (person.similarity > Config.MIN_SIMILARITY) { | |||
onFaceAuthSuccess(); | |||
} else { | |||
onFaceAuthFail(AuthenticationActivity.AuthFailReason.SIMILARITY); | |||
} | |||
} else { | |||
onFaceAuthFail(AuthenticationActivity.AuthFailReason.SIMILARITY); | |||
} | |||
} | |||
@Override | |||
public void onVerificationFail(Throwable throwable) { | |||
} | |||
private void onFaceAuthSuccess() { | |||
showSuccess(); | |||
/*if (preferences.getFingerAuth()) { | |||
onFingerClick(finger); | |||
} else { | |||
showSuccess(); | |||
}*/ | |||
} | |||
private void showSuccess() { | |||
final Intent intent = new Intent(RegisterFromCheckActivity.this, CheckInActivity.class); | |||
intent.putExtra(AuthSuccessActivity.LOGIN, login); | |||
intent.putExtra("FromRegisterCheck", true); | |||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||
intent.putExtra(AuthSuccessActivity.TIME, (int) (((double) (verifEndTime - verifStartTime)) / 1e6)); | |||
} | |||
startActivity(intent); | |||
finish(); | |||
} | |||
private void onFaceAuthFail(AuthenticationActivity.AuthFailReason reason) { | |||
if (faceFailCount < 4) { | |||
final FaceNotRecognizedFragment fragment = FaceNotRecognizedFragment.newInstance(); | |||
fragment.setListener(this); | |||
if (reason == AuthenticationActivity.AuthFailReason.SIMILARITY && BuildConfig.IS_OFFLINE_VERSION) | |||
{ | |||
fragment.setVerificationTime((int)((double)(verifEndTime - verifStartTime) / 1e6)); | |||
} | |||
fragment.setFailReason(reason); | |||
showFragment(fragment); | |||
} else { | |||
showFail(); | |||
} | |||
} | |||
private void showFail() { | |||
Toast.makeText(this, R.string.access_denied, Toast.LENGTH_SHORT).show(); | |||
finish(); | |||
} | |||
private void showFragment(Fragment fragment) { | |||
final FragmentManager fragmentManager = getSupportFragmentManager(); | |||
if (fragmentManager.findFragmentByTag(fragment.toString()) == null) { | |||
if (!goingSomewhere) { | |||
goingSomewhere = true; | |||
fragmentManager | |||
.beginTransaction() | |||
.replace(R.id.container, fragment, fragment.toString()) | |||
.commit(); | |||
goingSomewhere = false; | |||
} | |||
} | |||
} | |||
} |
@ -0,0 +1,203 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.DatePickerDialog; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.Button; | |||
import android.widget.DatePicker; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
import android.widget.TextView; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import java.util.Calendar; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
public class ReportActivity extends AppCompatActivity { | |||
Button btnReport; | |||
ImageButton back; | |||
LinearLayout fromDate,toDate; | |||
TextView textFromDate,textToDate; | |||
int yearFrom,monthOfYearFrom,dayOfmonthFrom; | |||
int yearTo,monthOfYearTo,dayOfmonthTo; | |||
String valuefromApi=""; | |||
String passingDateFrom,passingDateTo; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_report); | |||
btnReport = findViewById(R.id.btnReport); | |||
btnReport.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(ReportActivity.this, ReportDetailsActivity.class); | |||
intent.putExtra("passingDateFrom",passingDateFrom); | |||
intent.putExtra("passingDateTo",passingDateTo); | |||
startActivity(intent); | |||
//getReport(); | |||
} | |||
}); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
/*Intent intent = new Intent(ReportActivity.this, CheckInActivity.class); | |||
intent.putExtra("backToCheck",true); | |||
startActivity(intent);*/ | |||
onBackPressed(); | |||
} | |||
}); | |||
fromDate = findViewById(R.id.fromDate); | |||
textFromDate = findViewById(R.id.textFromDate); | |||
fromDate.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
final Calendar c = Calendar.getInstance(); | |||
int year = c.get(Calendar.YEAR); | |||
int month = c.get(Calendar.MONTH); | |||
int day = c.get(Calendar.DAY_OF_MONTH); | |||
DatePickerDialog datePickerDialog = new DatePickerDialog( | |||
// on below line we are passing context. | |||
ReportActivity.this, | |||
new DatePickerDialog.OnDateSetListener() { | |||
@Override | |||
public void onDateSet(DatePicker view, int year, | |||
int monthOfYear, int dayOfMonth) { | |||
// on below line we are setting date to our text view. | |||
textFromDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||
yearFrom = year; | |||
dayOfmonthFrom = dayOfMonth; | |||
monthOfYearFrom = monthOfYear; | |||
System.out.println("Date from values: " + dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom); | |||
passingDateFrom = dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom; | |||
System.out.println("passingDateFrom " + passingDateFrom); | |||
} | |||
}, | |||
// on below line we are passing year, | |||
// month and day for selected date in our date picker. | |||
year, month, day); | |||
// at last we are calling show to | |||
// display our date picker dialog. | |||
datePickerDialog.show(); | |||
} | |||
}); | |||
toDate = findViewById(R.id.toDate); | |||
textToDate = findViewById(R.id.textToDate); | |||
toDate.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
final Calendar c = Calendar.getInstance(); | |||
int year = c.get(Calendar.YEAR); | |||
int month = c.get(Calendar.MONTH); | |||
int day = c.get(Calendar.DAY_OF_MONTH); | |||
DatePickerDialog datePickerDialog = new DatePickerDialog( | |||
// on below line we are passing context. | |||
ReportActivity.this, | |||
new DatePickerDialog.OnDateSetListener() { | |||
@Override | |||
public void onDateSet(DatePicker view, int year, | |||
int monthOfYear, int dayOfMonth) { | |||
// on below line we are setting date to our text view. | |||
textToDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||
yearTo = year; | |||
dayOfmonthTo = dayOfMonth; | |||
monthOfYearTo = monthOfYear; | |||
System.out.println("Date from values: " + dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo); | |||
passingDateTo = dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo; | |||
System.out.println("passingDateTo " + passingDateTo); | |||
} | |||
}, | |||
// on below line we are passing year, | |||
// month and day for selected date in our date picker. | |||
year, month, day); | |||
// at last we are calling show to | |||
// display our date picker dialog. | |||
datePickerDialog.show(); | |||
} | |||
}); | |||
} | |||
public void getReport(){ | |||
final ProgressDialog loading = ProgressDialog.show(ReportActivity.this, "Authenticating", "Please wait ", false, false); | |||
//String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport"; | |||
//String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+"06/06/2023"+"&todate="+"06/07/2023"; | |||
String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom+"&todate="+dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONObject jsonObject=new JSONObject(response); | |||
JSONObject jb1=jsonObject.getJSONObject("statusModel"); | |||
valuefromApi = jb1.getString("_statusMessage"); | |||
System.out.println("Report status from api " + valuefromApi); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
Toast.makeText(ReportActivity.this, valuefromApi, Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(ReportActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
/*params.put("employeeid", "101"); | |||
params.put("fromdate", "06/06/2023"); | |||
params.put("todate", "06/07/2023");*/ | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(ReportActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,122 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.os.Bundle; | |||
import android.view.View; | |||
import android.widget.ImageButton; | |||
import android.widget.ImageView; | |||
import android.widget.TextView; | |||
import android.widget.Toast; | |||
import com.android.volley.Request; | |||
import com.android.volley.VolleyError; | |||
import com.android.volley.toolbox.StringRequest; | |||
import com.android.volley.toolbox.Volley; | |||
import org.json.JSONArray; | |||
import org.json.JSONException; | |||
import org.json.JSONObject; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
public class ReportDetailsActivity extends AppCompatActivity { | |||
String passingDateFrom,passingDateTo; | |||
TextView empIdVal,pdateVal,Check_InVal,Check_OutVal,statusVal; | |||
ImageView back; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_report_details); | |||
empIdVal = findViewById(R.id.empIdVal); | |||
pdateVal = findViewById(R.id.pdateVal); | |||
Check_InVal = findViewById(R.id.Check_InVal); | |||
Check_OutVal = findViewById(R.id.Check_OutVal); | |||
statusVal = findViewById(R.id.statusVal); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
Intent intent = new Intent(ReportDetailsActivity.this, ReportActivity.class); | |||
startActivity(intent); | |||
} | |||
}); | |||
Intent intent = getIntent(); | |||
passingDateFrom = intent.getStringExtra("passingDateFrom"); | |||
passingDateTo = intent.getStringExtra("passingDateTo"); | |||
System.out.println("passingDateFrom " + passingDateFrom + " " + passingDateTo); | |||
getReport(); | |||
} | |||
public void getReport(){ | |||
final ProgressDialog loading = ProgressDialog.show(ReportDetailsActivity.this, "Authenticating", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+passingDateFrom+"&todate="+passingDateTo; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
JSONObject jsonObject=new JSONObject(response); | |||
JSONArray jsonArray=jsonObject.getJSONArray("_lstAttendanceData"); | |||
JSONObject jb1=jsonArray.getJSONObject(0); | |||
String EmployeeID = jb1.getString("EmployeeID"); | |||
String pdate = jb1.getString("pdate"); | |||
String Check_In = jb1.getString("Check_In"); | |||
String Check_Out = jb1.getString("Check_Out"); | |||
String status = jb1.getString("status"); | |||
empIdVal.setText(EmployeeID); | |||
pdateVal.setText(pdate); | |||
Check_InVal.setText(Check_In); | |||
Check_OutVal.setText(Check_Out); | |||
statusVal.setText(status); | |||
System.out.println("data from api " + EmployeeID + " " + pdate+" "+Check_In+" "+Check_Out+" "+status); | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
Toast.makeText(ReportDetailsActivity.this, "Successfull" , Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
} | |||
}, new com.android.volley.Response.ErrorListener() { | |||
@Override | |||
public void onErrorResponse(VolleyError error) { | |||
// Log.d("error-=>",error.getMessage()); | |||
Toast.makeText(ReportDetailsActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||
loading.dismiss(); | |||
System.out.println("Error message: "+ error.getMessage()); | |||
} | |||
}) | |||
{ | |||
@Override | |||
protected Map<String, String> getParams() { | |||
Map<String, String> params = new HashMap<String, String>(); | |||
/*params.put("employeeid", "101"); | |||
params.put("fromdate", "06/06/2023"); | |||
params.put("todate", "06/07/2023");*/ | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(ReportDetailsActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<shape xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:shape="rectangle"> | |||
<corners android:radius="10dp" /> | |||
<solid android:color="#F1F1F1"/> | |||
</shape> |
@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<shape xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:shape="rectangle"> | |||
<corners android:radius="10dp" /> | |||
<solid android:color="#D75757"/> | |||
</shape> |
@ -0,0 +1,11 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<selector | |||
xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<item> | |||
<shape> | |||
<solid android:color="#ff3232"/> | |||
<corners android:radius="10dp" /> | |||
</shape> | |||
</item> | |||
</selector> |
@ -0,0 +1,6 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> | |||
<corners android:radius="20dp"/> | |||
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> | |||
<stroke android:width="1dp" android:color="#3D529E"/> | |||
</shape> |
@ -0,0 +1,6 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> | |||
<corners android:radius="10dp"/> | |||
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> | |||
<stroke android:width="1dp" android:color="#E1E1E1"/> | |||
</shape> |
@ -0,0 +1,5 @@ | |||
<vector android:height="24dp" android:tint="#0E0F11" | |||
android:viewportHeight="24" android:viewportWidth="24" | |||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<path android:fillColor="@android:color/white" android:pathData="M20,3h-1L19,1h-2v2L7,3L7,1L5,1v2L4,3c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,5c0,-1.1 -0.9,-2 -2,-2zM20,21L4,21L4,8h16v13z"/> | |||
</vector> |
@ -0,0 +1,7 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<item android:right="8dp" | |||
android:gravity="left|center_vertical"> | |||
</item> | |||
</layer-list> |
@ -0,0 +1,5 @@ | |||
<vector android:height="24dp" android:tint="#0E0F11" | |||
android:viewportHeight="24" android:viewportWidth="24" | |||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<path android:fillColor="@android:color/white" android:pathData="M3,18h13v-2L3,16v2zM3,13h10v-2L3,11v2zM3,6v2h13L16,6L3,6zM21,15.59L17.42,12 21,8.41 19.59,7l-5,5 5,5L21,15.59z"/> | |||
</vector> |
@ -0,0 +1,18 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<!-- Background --> | |||
<item android:drawable="@android:color/transparent" /> | |||
<!-- Border --> | |||
<item> | |||
<shape | |||
android:shape="rectangle"> | |||
<stroke | |||
android:color="#3D529E" | |||
android:width="1dp" /> <!-- Border width --> | |||
<corners | |||
android:radius="15dp" /> <!-- Rounded corners, if desired --> | |||
</shape> | |||
</item> | |||
</layer-list> |
@ -0,0 +1,6 @@ | |||
<vector android:height="24dp" android:tint="#0E0F11" | |||
android:viewportHeight="24" android:viewportWidth="24" | |||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||
<path android:fillColor="@android:color/white" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> | |||
<path android:fillColor="@android:color/white" android:pathData="M12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z"/> | |||
</vector> |
@ -0,0 +1,393 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout | |||
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=".ApprovalListActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp" | |||
> | |||
<LinearLayout | |||
android:id="@+id/lin1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<ImageButton | |||
android:id="@+id/back" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<TextView | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:text="Approval list" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="110dp" | |||
/> | |||
</LinearLayout> | |||
<ScrollView | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"> | |||
<RelativeLayout | |||
android:id="@+id/rl" | |||
android:layout_marginTop="35dp" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:id="@+id/rel1" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/empId" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="RequestID :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/RequestIDVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/empId" | |||
android:gravity="center_horizontal" | |||
android:text="RequestID" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel2" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel1"> | |||
<TextView | |||
android:id="@+id/EmployeeID" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="EmployeeID :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/EmployeeIDVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/EmployeeID" | |||
android:gravity="center_horizontal" | |||
android:text="EmployeeID" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel3" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel2"> | |||
<TextView | |||
android:id="@+id/EmployeeName" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="EmployeeName :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/EmployeeNameVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/EmployeeName" | |||
android:gravity="center_horizontal" | |||
android:text="EmployeeName" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel4" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel3"> | |||
<TextView | |||
android:id="@+id/LDate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="LDate :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/LDateVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/LDate" | |||
android:gravity="center_horizontal" | |||
android:text="LDate" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel5" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel4"> | |||
<TextView | |||
android:id="@+id/LTimeOut" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="LTimeOut :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/LTimeOutVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/LTimeOut" | |||
android:gravity="center_horizontal" | |||
android:text="LTimeOut" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel6" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel5"> | |||
<TextView | |||
android:id="@+id/LTimeIn" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="LTimeOut :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/LTimeInVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/LTimeIn" | |||
android:gravity="center_horizontal" | |||
android:text="LTimeIn" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel7" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel6"> | |||
<TextView | |||
android:id="@+id/NoOfHrs" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="NoOfHrs :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/NoOfHrsVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/NoOfHrs" | |||
android:gravity="center_horizontal" | |||
android:text="NoOfHrs" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel8" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel7"> | |||
<TextView | |||
android:id="@+id/LeaveType" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="LeaveType :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/LeaveTypeVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/LeaveType" | |||
android:gravity="center_horizontal" | |||
android:text="LeaveType" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel9" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel8"> | |||
<TextView | |||
android:id="@+id/ApproverID" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="ApproverID :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/ApproverIDVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/ApproverID" | |||
android:gravity="center_horizontal" | |||
android:text="ApproverID" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel10" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel9"> | |||
<TextView | |||
android:id="@+id/ApproverName" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="ApproverName :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/ApproverNameVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/ApproverName" | |||
android:gravity="center_horizontal" | |||
android:text="ApproverName" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rel11" | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp" | |||
android:layout_below="@id/rel10"> | |||
<TextView | |||
android:id="@+id/Reason" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Reason :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/ReasonVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/Reason" | |||
android:gravity="center_horizontal" | |||
android:text="Reason" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
</ScrollView> | |||
</LinearLayout> |
@ -0,0 +1,170 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:orientation="vertical" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:padding="15dp"> | |||
<ImageView | |||
android:id="@+id/menu" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_alignParentLeft="true" | |||
android:layout_centerInParent="true" | |||
android:background="@drawable/menu" /> | |||
<ImageView | |||
android:id="@+id/logout" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_alignParentRight="true" | |||
android:layout_centerInParent="true" | |||
android:background="@drawable/back" /> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:layout_width="350px" | |||
android:layout_height="350px" | |||
android:layout_gravity="center" | |||
android:layout_marginTop="100dp" | |||
android:background="@drawable/circular" | |||
> | |||
<ImageView | |||
android:layout_width="140px" | |||
android:layout_height="180px" | |||
android:layout_centerInParent="true" | |||
android:layout_marginTop="30dp" | |||
android:background="@drawable/homepage_logo" /> | |||
</RelativeLayout> | |||
<!--<Button | |||
android:id="@+id/btnCheckIn" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="40dp" | |||
android:layout_marginLeft="20dp" | |||
android:layout_marginRight="20dp" | |||
android:background="@drawable/bg_button_enable" | |||
android:text="Check In" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
android:drawableLeft="@drawable/check_in" | |||
android:drawablePadding="-15sp" | |||
android:padding="10dp" | |||
android:gravity="center"/>--> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_enable" | |||
android:layout_marginTop="60dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
> | |||
<ImageButton | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/check_in" | |||
android:backgroundTint="#4262D3" | |||
/> | |||
<View | |||
android:layout_width="1dp" | |||
android:layout_height="50dp" | |||
android:background="@color/white" | |||
android:layout_gravity="center_vertical" | |||
/> | |||
<TextView | |||
android:id="@+id/btnCheckIn" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Check In" | |||
android:textColor="@color/white" | |||
android:layout_gravity="center" | |||
android:paddingLeft="60dp" | |||
android:textSize="20sp" | |||
android:textStyle="bold" | |||
android:autoSizeTextType="uniform" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_check" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="30dp" | |||
> | |||
<ImageButton | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/checkout" | |||
android:backgroundTint="#48B2EE" | |||
/> | |||
<View | |||
android:layout_width="1dp" | |||
android:layout_height="50dp" | |||
android:background="@color/white" | |||
android:layout_gravity="center_vertical" | |||
/> | |||
<TextView | |||
android:id="@+id/btnCheckOut" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Check Out" | |||
android:textColor="@color/white" | |||
android:layout_gravity="center" | |||
android:paddingLeft="60dp" | |||
android:textSize="20sp" | |||
android:textStyle="bold" | |||
android:autoSizeTextType="uniform" | |||
/> | |||
</LinearLayout> | |||
<Button | |||
android:layout_width="match_parent" | |||
android:layout_height="65dp" | |||
android:text="Emergency SOS" | |||
android:layout_marginTop="120dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:background="@drawable/bg_button_sos" | |||
android:textColor="@color/white" | |||
android:visibility="gone"/> | |||
<!--<Button | |||
android:id="@+id/btnCheckOut" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
android:layout_marginLeft="20dp" | |||
android:layout_marginRight="20dp" | |||
android:background="@drawable/bg_button_check" | |||
android:text="Check Out" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
android:drawableLeft="@drawable/checkout" | |||
android:padding="10dp" | |||
android:gravity="center" | |||
/>--> | |||
</LinearLayout> |
@ -0,0 +1,238 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout | |||
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=".LeaveRequestActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<ImageButton | |||
android:id="@+id/back" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Leave requests" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="110dp" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/lin1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_linear_grey" | |||
android:layout_marginTop="10dp"> | |||
<ImageView | |||
android:id="@+id/menu" | |||
android:layout_width="60dp" | |||
android:layout_height="60dp" | |||
android:layout_alignParentLeft="true" | |||
android:layout_centerInParent="true" | |||
android:background="@drawable/andrew" /> | |||
<LinearLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_marginLeft="10dp" | |||
android:orientation="vertical"> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Madelyn Lubin" | |||
android:textStyle="bold" | |||
android:textColor="#000000"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Tue, 22 - Thu, 24 Feb 2023" | |||
android:textStyle="normal" | |||
android:textColor="#5F5F5F"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Casual Leave" | |||
android:textStyle="bold" | |||
android:textColor="#3553BB"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:orientation="vertical" | |||
android:layout_marginLeft="15dp"> | |||
<LinearLayout | |||
android:layout_width="90dp" | |||
android:layout_height="25dp" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:padding="2dp"> | |||
<ImageView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/tick" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="4dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Approve" | |||
android:textColor="@color/white" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="10dp"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="90dp" | |||
android:layout_height="25dp" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_btn_with_stroke_grey" | |||
android:padding="2dp" | |||
android:layout_marginTop="5dp" | |||
> | |||
<ImageView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/cross" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="4dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Reject" | |||
android:textColor="#CB1A1A" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="15dp"/> | |||
</LinearLayout> | |||
</LinearLayout> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/lin2" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_linear_grey" | |||
android:layout_marginTop="10dp"> | |||
<ImageView | |||
android:id="@+id/menu2" | |||
android:layout_width="60dp" | |||
android:layout_height="60dp" | |||
android:layout_alignParentLeft="true" | |||
android:layout_centerInParent="true" | |||
android:background="@drawable/frank" /> | |||
<LinearLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_marginLeft="10dp" | |||
android:orientation="vertical"> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Charlie Saris" | |||
android:textStyle="bold" | |||
android:textColor="#000000"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Tue, 22 - Thu, 24 Feb 2023" | |||
android:textStyle="normal" | |||
android:textColor="#5F5F5F"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Casual Leave" | |||
android:textStyle="bold" | |||
android:textColor="#3553BB"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:orientation="vertical" | |||
android:layout_marginLeft="15dp"> | |||
<LinearLayout | |||
android:layout_width="90dp" | |||
android:layout_height="25dp" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:padding="2dp"> | |||
<ImageView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/tick" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="4dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Approve" | |||
android:textColor="@color/white" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="10dp"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="90dp" | |||
android:layout_height="25dp" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_btn_with_stroke_grey" | |||
android:padding="2dp" | |||
android:layout_marginTop="5dp" | |||
> | |||
<ImageView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/cross" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="4dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Reject" | |||
android:textColor="#CB1A1A" | |||
android:layout_gravity="center" | |||
android:layout_marginLeft="15dp"/> | |||
</LinearLayout> | |||
</LinearLayout> | |||
</LinearLayout> | |||
</LinearLayout> |
@ -0,0 +1,212 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout | |||
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=".LeaveRequestDetailsActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<ImageButton | |||
android:id="@+id/back" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Leave requests" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="110dp" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@drawable/bg_linear_grey" | |||
android:orientation="vertical" | |||
android:layout_marginTop="10dp"> | |||
<LinearLayout | |||
android:id="@+id/lin1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:layout_marginTop="10dp"> | |||
<ImageView | |||
android:id="@+id/menu" | |||
android:layout_width="60dp" | |||
android:layout_height="60dp" | |||
android:layout_alignParentLeft="true" | |||
android:layout_centerInParent="true" | |||
android:background="@drawable/andrew" /> | |||
<LinearLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_marginLeft="10dp" | |||
android:orientation="vertical"> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Madelyn Lubin" | |||
android:textStyle="bold" | |||
android:textColor="#000000"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Tue, 22 - Thu, 24 Feb 2023" | |||
android:textStyle="normal" | |||
android:textColor="#5F5F5F"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Casual Leave" | |||
android:textStyle="bold" | |||
android:textColor="#3553BB"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="vertical" | |||
android:layout_marginLeft="15dp"> | |||
<TextView | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:text="03" | |||
android:textSize="26sp" | |||
android:textStyle="bold" | |||
android:textColor="#000000" | |||
android:gravity="center_horizontal" | |||
/> | |||
<TextView | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:text="Days" | |||
android:textSize="26sp" | |||
android:textStyle="normal" | |||
android:textColor="#000000" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
</LinearLayout> | |||
<Button | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@drawable/bg_btn_with_stroke_grey" | |||
android:text="Casual Leave" | |||
android:textAlignment="viewStart" | |||
android:textColor="#3553BB" | |||
android:padding="5dp" | |||
android:layout_marginTop="10dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Total Leave this year" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="23 days" | |||
android:textColor="#434343" | |||
android:layout_marginTop="8dp" | |||
android:textSize="18sp" | |||
android:textStyle="bold"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Substitute" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Richard Wilson" | |||
android:textColor="#434343" | |||
android:layout_marginTop="8dp" | |||
android:textSize="18sp" | |||
android:textStyle="bold"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Approver" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Michael Adams" | |||
android:textColor="#434343" | |||
android:layout_marginTop="8dp" | |||
android:textSize="18sp" | |||
android:textStyle="bold"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="HR Contact" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="HR Contact" | |||
android:textColor="#434343" | |||
android:layout_marginTop="8dp" | |||
android:textSize="18sp" | |||
android:textStyle="bold"/> | |||
</LinearLayout> | |||
<Button | |||
android:id="@+id/btnapprove" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:layout_marginTop="60dp" | |||
android:text="Approve" | |||
android:textColor="@color/white"/> | |||
<Button | |||
android:id="@+id/btnreject" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@drawable/bg_btn_with_stroke_red" | |||
android:layout_marginTop="20dp" | |||
android:text="Reject" | |||
android:textColor="@color/white"/> | |||
</LinearLayout> |
@ -0,0 +1,231 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout | |||
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=".PermissionRequestActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<LinearLayout | |||
android:id="@+id/lin1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<ImageButton | |||
android:id="@+id/back" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Permission requests" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="90dp" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/linearLayout1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="20dp" | |||
android:orientation="horizontal" | |||
android:weightSum="2" | |||
android:visibility="gone"> | |||
<Button | |||
android:id="@+id/btn_official" | |||
android:textSize="12dp" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Official" | |||
android:textColor="@color/white" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:layout_weight="1" | |||
android:layout_marginRight="5dp"/> | |||
<Button | |||
android:id="@+id/btn_private" | |||
android:textSize="12dp" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Private" | |||
android:background="@drawable/bg_btn_with_stroke_grey" | |||
android:layout_weight="1" | |||
android:layout_marginLeft="5dp" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="60dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:visibility="gone" | |||
> | |||
<ImageView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:src="@drawable/calender2"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="110dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/permission" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="25dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:weightSum="1" | |||
> | |||
<TextView | |||
android:id="@+id/permissionType" | |||
android:layout_width="0dp" | |||
android:layout_height="wrap_content" | |||
android:text="Permission type" | |||
android:textColor="@color/black" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
android:gravity="center_horizontal" | |||
android:layout_weight="0.5" | |||
/> | |||
<Spinner | |||
android:id="@+id/spinner" | |||
android:layout_width="0dp" | |||
android:layout_height="wrap_content" | |||
android:gravity="center_vertical" | |||
android:spinnerMode="dropdown" | |||
android:layout_weight="0.5"/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/timePickerFrom" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="25dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
> | |||
<ImageView | |||
android:layout_width="25dp" | |||
android:layout_height="25dp" | |||
android:src="@drawable/calender"/> | |||
<TextView | |||
android:id="@+id/textTimeFrom" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Time from" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="100dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/timePickerTo" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="30dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
> | |||
<ImageView | |||
android:layout_width="25dp" | |||
android:layout_height="25dp" | |||
android:src="@drawable/calender"/> | |||
<TextView | |||
android:id="@+id/textTimeTo" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Time to" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="110dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</LinearLayout> | |||
<EditText | |||
android:id="@+id/edtRemarks" | |||
android:layout_width="match_parent" | |||
android:layout_height="80dp" | |||
android:background="@drawable/edittext_border" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="30dp" | |||
android:hint="Remarks" | |||
android:gravity="center"/> | |||
<Button | |||
android:id="@+id/btnSubmit" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="210dp" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:text="Submit" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
/> | |||
</LinearLayout> |
@ -0,0 +1,321 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent" | |||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<!-- <include layout="@layout/include_toolbar"/>--> | |||
<FrameLayout | |||
android:id="@+id/container" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"/> | |||
<RelativeLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_centerHorizontal="true" | |||
android:layout_gravity="center" | |||
android:layout_marginTop="@dimen/photo_save_photo_margin_top"> | |||
<com.makeramen.roundedimageview.RoundedImageView | |||
android:id="@+id/photo" | |||
android:layout_width="@dimen/rounded_photo_size" | |||
android:layout_height="@dimen/rounded_photo_size" | |||
android:scaleType="centerCrop" | |||
app:riv_border_color="@color/accentColor" | |||
app:riv_border_width="7dp" | |||
app:riv_mutate_background="true" | |||
app:riv_oval="false" | |||
/> | |||
<ProgressBar | |||
style="@style/Base.Widget.AppCompat.ProgressBar" | |||
android:id="@+id/progressBar" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_centerInParent="true" | |||
android:indeterminate="true" | |||
android:visibility="invisible"/> | |||
</RelativeLayout> | |||
<!--<RelativeLayout | |||
android:layout_width="@dimen/rounded_photo_size" | |||
android:layout_height="@dimen/rounded_photo_size" | |||
android:layout_gravity="center" | |||
android:layout_marginTop="50dp" | |||
android:background="@drawable/circular" | |||
> | |||
<ImageView | |||
android:id="@+id/photo" | |||
android:layout_width="212dp" | |||
android:layout_height="212dp" | |||
android:layout_centerInParent="true" | |||
android:layout_marginTop="30dp"/> | |||
<!–android:background="@drawable/user" />–> | |||
</RelativeLayout>--> | |||
<!--<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Please click here for clicking image" | |||
android:textSize="15sp" | |||
android:textStyle="normal" | |||
android:textColor="#2b2b60" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginTop="15dp"/> | |||
<Button | |||
style="@style/Widget.AppCompat.Button.Borderless" | |||
android:id="@+id/retry" | |||
android:layout_width="match_parent" | |||
android:layout_height="@dimen/button_height" | |||
android:layout_above="@+id/save" | |||
android:layout_centerHorizontal="true" | |||
android:layout_marginBottom="20dp" | |||
android:text="@string/retry" | |||
android:textColor="@color/accentColor" | |||
android:textSize="14sp" | |||
android:layout_marginTop="200dp"/> | |||
<Button | |||
android:id="@+id/save" | |||
android:layout_width="match_parent" | |||
android:layout_height="@dimen/button_height" | |||
android:layout_alignParentBottom="true" | |||
android:layout_gravity="bottom" | |||
android:layout_marginBottom="@dimen/button_margin_bottom" | |||
android:background="@color/accentColor" | |||
android:text="@string/Ok" | |||
android:textColor="@android:color/white" | |||
android:textSize="14sp" | |||
/>--> | |||
<ImageButton | |||
android:id="@+id/back_img" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<!--<RelativeLayout | |||
android:layout_width="70dp" | |||
android:layout_height="70dp" | |||
android:layout_gravity="center" | |||
android:layout_marginTop="20dp" | |||
android:background="@drawable/circular" | |||
> | |||
<ImageView | |||
android:layout_width="50dp" | |||
android:layout_height="50dp" | |||
android:layout_centerInParent="true" | |||
android:layout_marginTop="30dp" | |||
android:background="@drawable/user" /> | |||
</RelativeLayout>--> | |||
<!--<RelativeLayout | |||
android:layout_width="350px" | |||
android:layout_height="350px" | |||
android:layout_gravity="center" | |||
android:layout_marginTop="30dp" | |||
android:background="@drawable/circular" | |||
> | |||
<ImageView | |||
android:layout_width="160px" | |||
android:layout_height="180px" | |||
android:layout_centerInParent="true" | |||
android:layout_marginTop="30dp" | |||
android:background="@drawable/employee_new" /> | |||
</RelativeLayout> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Register" | |||
android:textSize="30sp" | |||
android:textStyle="bold" | |||
android:textColor="#3D529E" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Please signup to create an account" | |||
android:textSize="15sp" | |||
android:textStyle="normal" | |||
android:textColor="#576277" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginTop="2dp"/>--> | |||
<!--<com.google.android.material.textfield.TextInputEditText | |||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
app:boxCornerRadiusBottomEnd="8dp" | |||
app:boxCornerRadiusTopEnd="8dp" | |||
app:boxCornerRadiusBottomStart="8dp" | |||
app:boxCornerRadiusTopStart="8dp" | |||
android:background="@drawable/bg_textinput" | |||
android:hint="Username" | |||
app:startIconDrawable="@drawable/user" | |||
app:endIconMode="clear_text"> | |||
<com.google.android.material.textfield.TextInputEditText | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white" | |||
android:contentDescription="Username"/> | |||
</com.google.android.material.textfield.TextInputEditText> | |||
<com.google.android.material.textfield.TextInputEditText | |||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
app:boxCornerRadiusBottomEnd="8dp" | |||
app:boxCornerRadiusTopEnd="8dp" | |||
app:boxCornerRadiusBottomStart="8dp" | |||
app:boxCornerRadiusTopStart="8dp" | |||
android:background="@drawable/bg_textinput" | |||
android:hint="Email" | |||
app:startIconDrawable="@drawable/email" | |||
app:endIconMode="clear_text"> | |||
<com.google.android.material.textfield.TextInputEditText | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white"/> | |||
</com.google.android.material.textfield.TextInputEditText> | |||
<com.google.android.material.textfield.TextInputEditText | |||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
app:boxCornerRadiusBottomEnd="8dp" | |||
app:boxCornerRadiusTopEnd="8dp" | |||
app:boxCornerRadiusBottomStart="8dp" | |||
app:boxCornerRadiusTopStart="8dp" | |||
android:background="@drawable/bg_textinput" | |||
android:hint="Phone" | |||
app:startIconDrawable="@drawable/phone" | |||
app:endIconMode="clear_text"> | |||
<com.google.android.material.textfield.TextInputEditText | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white" | |||
android:inputType="number" | |||
android:maxLength="10"/> | |||
</com.google.android.material.textfield.TextInputEditText> | |||
<com.google.android.material.textfield.TextInputEditText | |||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
app:boxCornerRadiusBottomEnd="8dp" | |||
app:boxCornerRadiusTopEnd="8dp" | |||
app:boxCornerRadiusBottomStart="8dp" | |||
app:boxCornerRadiusTopStart="8dp" | |||
android:background="@drawable/bg_textinput" | |||
android:hint="Password" | |||
app:startIconDrawable="@drawable/lock" | |||
app:endIconMode="clear_text"> | |||
<com.google.android.material.textfield.TextInputEditText | |||
android:id="@+id/pass" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white"/> | |||
</com.google.android.material.textfield.TextInputEditText> | |||
<com.google.android.material.textfield.TextInputEditText | |||
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="20dp" | |||
app:boxCornerRadiusBottomEnd="8dp" | |||
app:boxCornerRadiusTopEnd="8dp" | |||
app:boxCornerRadiusBottomStart="8dp" | |||
app:boxCornerRadiusTopStart="8dp" | |||
android:background="@drawable/bg_textinput" | |||
android:hint="Confirm Password" | |||
app:startIconDrawable="@drawable/lock" | |||
app:endIconMode="clear_text"> | |||
<com.google.android.material.textfield.TextInputEditText | |||
android:id="@+id/conPass" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@color/white"/> | |||
</com.google.android.material.textfield.TextInputEditText>--> | |||
<!-- <EditText | |||
android:layout_width="match_parent" | |||
android:layout_height="54dp" | |||
android:ems="10" | |||
android:drawableLeft="@drawable/comp" | |||
android:drawablePadding="12dp" | |||
android:hint="Company code" | |||
android:textStyle="bold" | |||
android:textSize="14sp" | |||
android:background="@drawable/custom_input" | |||
android:paddingLeft="16dp" | |||
android:layout_marginTop="37dp"/> | |||
<EditText | |||
android:layout_width="match_parent" | |||
android:layout_height="54dp" | |||
android:ems="10" | |||
android:drawableLeft="@drawable/employee_id" | |||
android:drawablePadding="12dp" | |||
android:hint="Employee ID" | |||
android:textStyle="bold" | |||
android:textSize="14sp" | |||
android:background="@drawable/custom_input" | |||
android:paddingLeft="16dp" | |||
android:layout_marginTop="18dp"/> | |||
<EditText | |||
android:layout_width="match_parent" | |||
android:layout_height="54dp" | |||
android:layout_marginTop="18dp" | |||
android:background="@drawable/custom_input" | |||
android:drawableLeft="@drawable/baseline_message_24" | |||
android:drawablePadding="12dp" | |||
android:ems="10" | |||
android:hint="OTP" | |||
android:paddingLeft="16dp" | |||
android:textSize="14sp" | |||
android:textStyle="bold" /> | |||
<Button | |||
android:id="@+id/verifynproceed" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="58dp" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:text="Verify and Proceed" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
/>--> | |||
</LinearLayout> |
@ -0,0 +1,123 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout | |||
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=".ReportActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<ImageButton | |||
android:id="@+id/back" | |||
android:layout_width="14dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:background="@color/white" | |||
android:contentDescription="Back"/> | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Attendance Reports" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="100dp" | |||
/> | |||
</LinearLayout> | |||
<!--<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Reports" | |||
android:textSize="30sp" | |||
android:textStyle="bold" | |||
android:textColor="#3D529E" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginTop="60dp"/>--> | |||
<LinearLayout | |||
android:id="@+id/fromDate" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="60dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
> | |||
<ImageView | |||
android:layout_width="20dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/calender"/> | |||
<TextView | |||
android:id="@+id/textFromDate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="From date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="100dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:id="@+id/toDate" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="30dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
> | |||
<ImageView | |||
android:layout_width="20dp" | |||
android:layout_height="20dp" | |||
android:src="@drawable/calender"/> | |||
<TextView | |||
android:id="@+id/textToDate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="To date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="110dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</LinearLayout> | |||
<Button | |||
android:id="@+id/btnReport" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="70dp" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:text="Submit" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
/> | |||
</LinearLayout> |
@ -0,0 +1,251 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<RelativeLayout | |||
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=".ReportActivity" | |||
> | |||
<RelativeLayout | |||
android:id="@+id/rl_1" | |||
android:layout_width="match_parent" | |||
android:layout_height="60dp"> | |||
<ImageView | |||
android:id="@+id/back" | |||
android:layout_width="30dp" | |||
android:layout_height="30dp" | |||
android:layout_centerVertical="true" | |||
android:layout_marginLeft="10dp" | |||
android:src="@drawable/ic_baseline_arrow_back_24" | |||
android:backgroundTint="@color/white"></ImageView> | |||
<TextView | |||
android:id="@+id/txt_report" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_centerInParent="true" | |||
android:textStyle="bold" | |||
android:textSize="15sp" | |||
android:textColor="@color/black" | |||
android:text="Report Details"></TextView> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl2" | |||
android:layout_marginTop="45dp" | |||
android:layout_below="@id/rl_1" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/empId" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="EmployeeID :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/empIdVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/empId" | |||
android:gravity="center_horizontal" | |||
android:text="EmployeeID" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl3" | |||
android:layout_marginTop="15dp" | |||
android:layout_below="@id/rl2" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/pdate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Pdate :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/pdateVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/pdate" | |||
android:gravity="center_horizontal" | |||
android:text="Pdate" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl4" | |||
android:layout_marginTop="15dp" | |||
android:layout_below="@id/rl3" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/Check_In" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Check In :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/Check_InVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/Check_In" | |||
android:gravity="center_horizontal" | |||
android:text="Check In" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl5" | |||
android:layout_marginTop="15dp" | |||
android:layout_below="@id/rl4" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/Check_Out" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Check Out :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/Check_OutVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/Check_Out" | |||
android:gravity="center_horizontal" | |||
android:text="Check Out" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl6" | |||
android:layout_marginTop="15dp" | |||
android:layout_below="@id/rl5" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="30dp" | |||
android:layout_marginStart="15dp" | |||
android:layout_marginTop="15dp" | |||
android:layout_marginEnd="15dp" | |||
android:layout_marginBottom="15dp"> | |||
<TextView | |||
android:id="@+id/status" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Status :" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="bold"></TextView> | |||
<TextView | |||
android:id="@+id/statusVal" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:layout_toRightOf="@id/status" | |||
android:gravity="center_horizontal" | |||
android:text="Status" | |||
android:textColor="@color/black" | |||
android:textSize="15sp" | |||
android:textStyle="normal"></TextView> | |||
</RelativeLayout> | |||
</RelativeLayout> | |||
</RelativeLayout> |