@ -0,0 +1,370 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.AlertDialog; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.content.SharedPreferences; | |||
import android.os.Bundle; | |||
import android.view.LayoutInflater; | |||
import android.view.View; | |||
import android.view.ViewGroup; | |||
import android.widget.AdapterView; | |||
import android.widget.ArrayAdapter; | |||
import android.widget.BaseAdapter; | |||
import android.widget.EditText; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
import android.widget.ListAdapter; | |||
import android.widget.ListView; | |||
import android.widget.SimpleAdapter; | |||
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.io.Serializable; | |||
import java.util.ArrayList; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.visionlab.femdemo.models.ApprovalModel; | |||
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; | |||
ListView lv; | |||
boolean isreject; | |||
ArrayList<ApprovalModel> arrayList=new ArrayList<ApprovalModel>(); | |||
String Employeeid,RegisterUser; | |||
EditText ed_remarks; | |||
private String permissionid; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
//setContentView(R.layout.activity_approval_list); | |||
setContentView(R.layout.activity_approval_new_list); | |||
SharedPreferences shared = getSharedPreferences("MyPrefs", MODE_PRIVATE); | |||
Employeeid = shared.getString("Employeeid", ""); | |||
RegisterUser = shared.getString("RegisterUser", ""); | |||
back = findViewById(R.id.back); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
onBackPressed(); | |||
} | |||
}); | |||
arrayList=new ArrayList<ApprovalModel>(); | |||
lv = findViewById(R.id.listview); | |||
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="+ Employeeid; | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
arrayList.clear(); | |||
JSONArray jsonArray=new JSONArray(response); | |||
for(int i = 0;i<jsonArray.length();i++) { | |||
JSONObject jb1 = jsonArray.getJSONObject(i); | |||
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"); | |||
// HashMap<String,String> data = new HashMap<>(); | |||
// data.put("EmployeeName",EmployeeName); | |||
// data.put("EmployeeID",EmployeeID); | |||
// data.put("LeaveType",LeaveType); | |||
// data.put("ApproverName",ApproverName); | |||
ApprovalModel approvalModel = new ApprovalModel(); | |||
approvalModel.setApproverID(jb1.getString("ApproverID")); | |||
approvalModel.setRequestID(jb1.getString("RequestID")); | |||
approvalModel.setEmployeeID(jb1.getString("EmployeeID")); | |||
approvalModel.setEmployeeName(jb1.getString("EmployeeName")); | |||
approvalModel.setLDate(jb1.getString("LDate")); | |||
approvalModel.setLTimeOut(jb1.getString("LTimeOut")); | |||
approvalModel.setLTimeIn(jb1.getString("LTimeIn")); | |||
approvalModel.setNoOfHrs(jb1.getString("NoOfHrs")); | |||
approvalModel.setLeaveType(jb1.getString("LeaveType")); | |||
approvalModel.setApproverName(jb1.getString("ApproverName")); | |||
approvalModel.setReason(jb1.getString("Reason")); | |||
arrayList.add(approvalModel); | |||
} | |||
// ListAdapter adapter = new SimpleAdapter(ApprovalListActivity.this,arrayList,R.layout.listview_layout | |||
// ,new String[]{"EmployeeName","EmployeeID","LeaveType","ApproverName"},new int[]{R.id.EmployeeNameVal,R.id.EmployeeIDVal,R.id.LeaveTypeVal,R.id.ApproverNameVal}); | |||
// lv.setAdapter(adapter); | |||
// ArrayAdapter<ApprovalModel> adapter = new ArrayAdapter<ApprovalModel>(getApplicationContext(),R.layout.listview_layout,arrayList); | |||
lv.setAdapter(new Nr()); | |||
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |||
@Override | |||
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { | |||
ApprovalModel approvalModel=arrayList.get(i); | |||
Intent intent = new Intent(ApprovalListActivity.this,LeaveRequestDetailsActivity.class); | |||
Bundle bundle=new Bundle(); | |||
bundle.putSerializable("Approvaldata", (Serializable) approvalModel); | |||
intent.putExtras(bundle); | |||
startActivity(intent); | |||
} | |||
}); | |||
/*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); | |||
} | |||
private class Nr extends BaseAdapter { | |||
@Override | |||
public int getCount() { | |||
return arrayList.size(); | |||
} | |||
@Override | |||
public Object getItem(int position) { | |||
return null; | |||
} | |||
@Override | |||
public long getItemId(int position) { | |||
return 0; | |||
} | |||
@Override | |||
public View getView(int position, View convertView, ViewGroup parent) { | |||
LayoutInflater inflater = getLayoutInflater(); | |||
View v = inflater.inflate(R.layout.listview_layout, null); | |||
TextView EmployeeNameVal=v.findViewById(R.id.EmployeeNameVal); | |||
TextView EmployeeIDVal=v.findViewById(R.id.EmployeeIDVal); | |||
TextView LeaveTypeVal=v.findViewById(R.id.LeaveTypeVal); | |||
TextView ApproverNameVal=v.findViewById(R.id.ApproverNameVal); | |||
LinearLayout ll_approve=v.findViewById(R.id.ll_approve); | |||
EmployeeNameVal.setText(arrayList.get(position).getEmployeeName()); | |||
EmployeeIDVal.setText(arrayList.get(position).getEmployeeID()); | |||
LeaveTypeVal.setText(arrayList.get(position).getLeaveType()); | |||
ApproverNameVal.setText(arrayList.get(position).getApproverName()); | |||
permissionid=arrayList.get(position).getRequestID(); | |||
// ll_approve.setOnClickListener(new View.OnClickListener() { | |||
// @Override | |||
// public void onClick(View v) { | |||
// isreject=false; | |||
// AlertDialog.Builder builder = new AlertDialog.Builder(ApprovalListActivity.this); | |||
// builder.setTitle("Remarks"); | |||
// builder.setCancelable(false); | |||
// | |||
// // set the custom layout | |||
// final View customLayout = getLayoutInflater().inflate(R.layout.dialog_approve, null); | |||
// builder.setView(customLayout); | |||
// | |||
// // add a button | |||
// builder.setPositiveButton("Save", (dialog, which) -> { | |||
// // send data from the AlertDialog to the Activity | |||
// ed_remarks = customLayout.findViewById(R.id.ed_remarks); | |||
// | |||
// if(ed_remarks.getText().toString().isEmpty()) | |||
// { | |||
// Toast.makeText(ApprovalListActivity.this, "Please enter remars", Toast.LENGTH_SHORT).show(); | |||
// builder.show(); | |||
// return; | |||
// | |||
// } | |||
// else { | |||
// PermissionApprovalAction(); | |||
// } | |||
// | |||
// }); | |||
// // create and show the alert dialog | |||
// AlertDialog dialog = builder.create(); | |||
// dialog.show(); | |||
// } | |||
// }); | |||
return v; | |||
} | |||
} | |||
public void PermissionApprovalAction(){ | |||
final ProgressDialog loading = ProgressDialog.show(ApprovalListActivity.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 _statusMessage = jsonObject.getString("_statusMessage"); | |||
String _statusCode=jsonObject.getString("_statusCode"); | |||
if(_statusCode.equals("200")) | |||
{ | |||
String message; | |||
if(isreject) | |||
{ | |||
message="Leave Rejected"; | |||
} | |||
else { | |||
message="Leave Approved"; | |||
} | |||
new SweetAlertDialog(ApprovalListActivity.this, SweetAlertDialog.SUCCESS_TYPE) | |||
.setTitleText(message) | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
PermissionApprovalList(); | |||
} | |||
}).show(); | |||
} | |||
else | |||
{ | |||
Toast.makeText(ApprovalListActivity.this, _statusMessage, Toast.LENGTH_LONG).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(ApprovalListActivity.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",permissionid); | |||
params.put("approverID", Employeeid); | |||
params.put("actionby", RegisterUser); | |||
params.put("remark", ed_remarks.getText().toString()); | |||
if(isreject) | |||
{ | |||
params.put("actionflag", "R"); | |||
} | |||
else | |||
{ | |||
params.put("actionflag", "A"); | |||
} | |||
System.out.println("params in Approve "+params); | |||
return params; | |||
} | |||
}; | |||
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,271 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.AlertDialog; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.content.SharedPreferences; | |||
import android.os.Bundle; | |||
import android.util.Log; | |||
import android.view.View; | |||
import android.widget.Button; | |||
import android.widget.EditText; | |||
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; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.visionlab.femdemo.R; | |||
import ru.visionlab.femdemo.models.ApprovalModel; | |||
public class LeaveRequestDetailsActivity extends AppCompatActivity { | |||
Button btnapprove,btnreject,btn_leav_type; | |||
ImageButton back; | |||
TextView emp_name,leavtype,leavdate,hours,txt_time_in,txt_time_out,txt_approver_name,txt_reason; | |||
ApprovalModel approvalModel; | |||
String empname,LeaveType,LDate,NoOfHrs,LTimeIn,LTimeOut,ApproverName,Reason; | |||
String[] separated; | |||
private String Employeeid; | |||
private String RegisterUser,permissionID; | |||
EditText ed_remarks; | |||
boolean isreject; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_leave_request_details); | |||
back = findViewById(R.id.back); | |||
emp_name = findViewById(R.id.emp_name); | |||
leavtype = findViewById(R.id.leavtype); | |||
leavdate = findViewById(R.id.leavdate); | |||
btn_leav_type = findViewById(R.id.btn_leav_type); | |||
hours = findViewById(R.id.hours); | |||
txt_time_in = findViewById(R.id.txt_time_in); | |||
txt_time_out = findViewById(R.id.txt_time_out); | |||
txt_approver_name = findViewById(R.id.txt_approver_name); | |||
txt_reason = findViewById(R.id.txt_reason); | |||
btnapprove = findViewById(R.id.btnapprove); | |||
btnreject = findViewById(R.id.btnreject); | |||
back.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
onBackPressed(); | |||
} | |||
}); | |||
approvalModel=(ApprovalModel) getIntent().getSerializableExtra("Approvaldata"); | |||
// fill employee details | |||
empname=(approvalModel.getEmployeeName()); | |||
LeaveType=(approvalModel.getLeaveType()); | |||
LDate=(approvalModel.getLDate()); | |||
NoOfHrs=(approvalModel.getNoOfHrs()); | |||
LTimeIn=(approvalModel.getLTimeIn()); | |||
LTimeOut=(approvalModel.getLTimeOut()); | |||
ApproverName=(approvalModel.getApproverName()); | |||
Reason=(approvalModel.getReason()); | |||
permissionID=(approvalModel.getRequestID()); | |||
separated=LDate.split(" "); | |||
Log.d("empname",empname); | |||
emp_name.setText(empname); | |||
leavtype.setText(LeaveType); | |||
leavdate.setText(separated[0]); | |||
btn_leav_type.setText(LeaveType); | |||
hours.setText(NoOfHrs); | |||
txt_time_in.setText(LTimeIn); | |||
txt_time_out.setText(LTimeOut); | |||
txt_approver_name.setText(ApproverName); | |||
txt_reason.setText(Reason); | |||
SharedPreferences shared = getSharedPreferences("MyPrefs", MODE_PRIVATE); | |||
Employeeid = shared.getString("Employeeid", ""); | |||
RegisterUser = shared.getString("RegisterUser", ""); | |||
btnapprove.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
isreject=false; | |||
AlertDialog.Builder builder = new AlertDialog.Builder(LeaveRequestDetailsActivity.this); | |||
builder.setTitle("Remarks"); | |||
builder.setCancelable(false); | |||
// set the custom layout | |||
final View customLayout = getLayoutInflater().inflate(R.layout.dialog_approve, null); | |||
builder.setView(customLayout); | |||
// add a button | |||
builder.setPositiveButton("Save", (dialog, which) -> { | |||
// send data from the AlertDialog to the Activity | |||
ed_remarks = customLayout.findViewById(R.id.ed_remarks); | |||
if(ed_remarks.getText().toString().isEmpty()) | |||
{ | |||
Toast.makeText(LeaveRequestDetailsActivity.this, "Please enter remars", Toast.LENGTH_SHORT).show(); | |||
builder.show(); | |||
return; | |||
} | |||
else { | |||
PermissionApprovalAction(); | |||
} | |||
}); | |||
// create and show the alert dialog | |||
AlertDialog dialog = builder.create(); | |||
dialog.show(); | |||
} | |||
}); | |||
btnreject.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
isreject=true; | |||
AlertDialog.Builder builder = new AlertDialog.Builder(LeaveRequestDetailsActivity.this); | |||
builder.setTitle("Remarks"); | |||
builder.setCancelable(false); | |||
// set the custom layout | |||
final View customLayout = getLayoutInflater().inflate(R.layout.dialog_approve, null); | |||
builder.setView(customLayout); | |||
// add a button | |||
builder.setPositiveButton("Save", (dialog, which) -> { | |||
// send data from the AlertDialog to the Activity | |||
ed_remarks = customLayout.findViewById(R.id.ed_remarks); | |||
if(ed_remarks.getText().toString().isEmpty()) | |||
{ | |||
Toast.makeText(LeaveRequestDetailsActivity.this, "Please enter remarks", Toast.LENGTH_SHORT).show(); | |||
builder.show(); | |||
return; | |||
} | |||
else { | |||
PermissionApprovalAction(); | |||
} | |||
}); | |||
// create and show the alert dialog | |||
AlertDialog dialog = builder.create(); | |||
dialog.show(); | |||
} | |||
}); | |||
} | |||
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 _statusMessage = jsonObject.getString("_statusMessage"); | |||
String _statusCode=jsonObject.getString("_statusCode"); | |||
if(_statusCode.equals("200")) | |||
{ | |||
String message; | |||
if(isreject) | |||
{ | |||
message="Leave Rejected"; | |||
} | |||
else { | |||
message="Leave Approved"; | |||
} | |||
new SweetAlertDialog(LeaveRequestDetailsActivity.this, SweetAlertDialog.SUCCESS_TYPE) | |||
.setTitleText(message) | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
Intent intent = new Intent(LeaveRequestDetailsActivity.this, ApprovalListActivity.class);startActivity(intent); | |||
} | |||
}).show(); | |||
} | |||
else | |||
{ | |||
Toast.makeText(LeaveRequestDetailsActivity.this, _statusMessage, Toast.LENGTH_LONG).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",permissionID ); | |||
params.put("approverID", Employeeid); | |||
params.put("actionby", RegisterUser); | |||
params.put("remark", ed_remarks.getText().toString()); | |||
if(isreject) | |||
{ | |||
params.put("actionflag", "R"); | |||
} | |||
else | |||
{ | |||
params.put("actionflag", "A"); | |||
} | |||
System.out.println("params in Approve "+params); | |||
return params; | |||
} | |||
}; | |||
Volley.newRequestQueue(LeaveRequestDetailsActivity.this).add(stringRequest); | |||
} | |||
} |
@ -0,0 +1,26 @@ | |||
package ru.visionlab.femdemo; | |||
public class PermissionModel { | |||
public String getPermission_code() { | |||
return Permission_code; | |||
} | |||
public void setPermission_code(String permission_code) { | |||
Permission_code = permission_code; | |||
} | |||
String Permission_NameEN,Permission_code; | |||
public String getPermission_NameEN() { | |||
return Permission_NameEN; | |||
} | |||
public void setPermission_NameEN(String permission_NameEN) { | |||
Permission_NameEN = permission_NameEN; | |||
} | |||
@Override public String toString() { | |||
return this.getPermission_NameEN(); // What to display in the Spinner list. | |||
} | |||
} |
@ -0,0 +1,642 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.DatePickerDialog; | |||
import android.app.ProgressDialog; | |||
import android.app.TimePickerDialog; | |||
import android.content.Intent; | |||
import android.content.SharedPreferences; | |||
import android.content.SyncAdapterType; | |||
import android.os.Bundle; | |||
import android.os.PersistableBundle; | |||
import android.util.Log; | |||
import android.view.View; | |||
import android.widget.AdapterView; | |||
import android.widget.ArrayAdapter; | |||
import android.widget.Button; | |||
import android.widget.DatePicker; | |||
import android.widget.EditText; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
import android.widget.RelativeLayout; | |||
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.ArrayList; | |||
import java.text.SimpleDateFormat; | |||
import java.util.Calendar; | |||
import java.util.Date; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.visionlab.femdemo.R; | |||
import ru.visionlab.femdemo.login.LoginActivity; | |||
import ru.visionlab.femdemo.login.LoginActivityNew; | |||
import ru.visionlab.femdemo.register.RegisterActivity; | |||
public class PermissionRequestActivity extends AppCompatActivity { | |||
ImageButton back; | |||
Button btnSubmit,btn_private; | |||
String _statusMessage; | |||
EditText edtRemarks; | |||
String remarks=""; | |||
LinearLayout timePickerFrom,timePickerTo; | |||
private int mDayFrom,mMonthFrom,mMonthTo,mYearFrom,mYearTo,mDayTo, mHour, mMinute; | |||
TextView textTimeFrom,textTimeTo,txt_p_date,txt_from_date,txt_to_date; | |||
LinearLayout linearLayout1; | |||
Spinner spinner; | |||
String permission_type,permission_code,Employeeid; | |||
String toDate,fromTime,fromDate,currentDateandTime; | |||
ArrayList<PermissionModel> permission_type_list=new ArrayList<>(); | |||
ArrayList<String> spinner_array=new ArrayList<>(); | |||
// code for Niladri | |||
RelativeLayout private_date,official_from_date,official_to_date; | |||
String timeset, timeSetFrom,RegisterUser; | |||
EditText txtDate, txtTime; | |||
private int mYear, mMonth, mDay; | |||
private String code_type="P"; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_permission_request); | |||
linearLayout1 = findViewById(R.id.linearLayout1); | |||
SharedPreferences shared = getSharedPreferences("MyPrefs", MODE_PRIVATE); | |||
Employeeid = shared.getString("Employeeid", ""); | |||
RegisterUser = shared.getString("RegisterUser", ""); | |||
private_date=findViewById(R.id.private_date); | |||
official_from_date=findViewById(R.id.official_from_date); | |||
official_to_date=findViewById(R.id.official_to_date); | |||
txt_p_date = findViewById(R.id.txtPDate); | |||
txt_from_date = findViewById(R.id.txt_from_date); | |||
txt_to_date = findViewById(R.id.txt_to_date); | |||
btnSubmit = findViewById(R.id.btnSubmit); | |||
IsELeaveApprover(); | |||
//PermissionInsert(); | |||
PermissionApprovalList(); | |||
PermissionTypes(); | |||
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"); | |||
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); | |||
currentDateandTime = sdf.format(new Date()); | |||
System.out.println("Current date and time "+currentDateandTime); | |||
txt_p_date.setText(currentDateandTime); | |||
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 | |||
PermissionModel permissionModel=(PermissionModel) parentView.getSelectedItem(); | |||
Log.d("code",permissionModel.Permission_code); | |||
// Do something with the selected item | |||
code_type=permissionModel.Permission_code; | |||
if (permissionModel.Permission_code.toUpperCase().equals("O")) | |||
{ | |||
official_from_date.setVisibility(View.VISIBLE); | |||
official_to_date.setVisibility(View.VISIBLE); | |||
private_date.setVisibility(View.GONE); | |||
} | |||
else | |||
{ | |||
official_from_date.setVisibility(View.GONE); | |||
official_to_date.setVisibility(View.GONE); | |||
private_date.setVisibility(View.VISIBLE); | |||
} | |||
} | |||
@Override | |||
public void onNothingSelected(AdapterView<?> parentView) { | |||
// Handle the case where nothing is selected (if needed) | |||
} | |||
}); | |||
// private_date.setOnClickListener(new View.OnClickListener() { | |||
// @Override | |||
// public void onClick(View v) { | |||
// open_date(); | |||
// } | |||
// }); | |||
private_date.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View v) { | |||
// final Calendar c = Calendar.getInstance(); | |||
// mYear = c.get(Calendar.YEAR); | |||
// mMonth = c.get(Calendar.MONTH); | |||
// mDay = c.get(Calendar.DAY_OF_MONTH); | |||
// | |||
// DatePickerDialog datePickerDialog = new DatePickerDialog(PermissionRequestActivity.this, | |||
// new DatePickerDialog.OnDateSetListener() { | |||
// | |||
// @Override | |||
// public void onDateSet(DatePicker view, int year, | |||
// int monthOfYear, int dayOfMonth) { | |||
// txt_p_date.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||
// } | |||
// }, mYear, mMonth, mDay); | |||
// datePickerDialog.show(); | |||
} | |||
}); | |||
official_from_date.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View v) { | |||
final Calendar c = Calendar.getInstance(); | |||
mYear = c.get(Calendar.YEAR); | |||
mMonth = c.get(Calendar.MONTH); | |||
mDay = c.get(Calendar.DAY_OF_MONTH); | |||
DatePickerDialog datePickerDialog = new DatePickerDialog(PermissionRequestActivity.this, | |||
new DatePickerDialog.OnDateSetListener() { | |||
@Override | |||
public void onDateSet(DatePicker view, int year, | |||
int monthOfYear, int dayOfMonth) { | |||
txt_from_date.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||
} | |||
}, mYear, mMonth, mDay); | |||
datePickerDialog.show(); | |||
} | |||
}); | |||
official_to_date.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View v) { | |||
final Calendar c = Calendar.getInstance(); | |||
mYear = c.get(Calendar.YEAR); | |||
mMonth = c.get(Calendar.MONTH); | |||
mDay = c.get(Calendar.DAY_OF_MONTH); | |||
DatePickerDialog datePickerDialog = new DatePickerDialog(PermissionRequestActivity.this, | |||
new DatePickerDialog.OnDateSetListener() { | |||
@Override | |||
public void onDateSet(DatePicker view, int year, | |||
int monthOfYear, int dayOfMonth) { | |||
txt_to_date.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||
} | |||
}, mYear, mMonth, mDay); | |||
datePickerDialog.show(); | |||
} | |||
}); | |||
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(); | |||
} | |||
}); | |||
edtRemarks = findViewById(R.id.edtRemarks); | |||
remarks = edtRemarks.getText().toString(); | |||
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.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
if(edtRemarks.getText().toString().isEmpty()) | |||
{ | |||
Toast.makeText(PermissionRequestActivity.this, "Please enter remarks", Toast.LENGTH_SHORT).show(); | |||
} | |||
else{ | |||
getPermission(); | |||
} | |||
} | |||
}); | |||
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); | |||
mDayFrom = c.get(Calendar.DATE); | |||
mMonthFrom = c.get(Calendar.MONTH); | |||
mYearFrom = c.get(Calendar.YEAR); | |||
// 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) { | |||
timeset=""; | |||
System.out.println("hourOfDay : " + hourOfDay); | |||
if(hourOfDay>12) | |||
{ | |||
hourOfDay-=12; | |||
timeSetFrom="PM"; | |||
} | |||
else | |||
{ | |||
timeSetFrom="AM"; | |||
} | |||
textTimeFrom.setText(hourOfDay + ":" + minute + " " + timeSetFrom); | |||
} | |||
}, mHour, mMinute, false); | |||
timePickerDialog.show(); | |||
fromTime = mHour+ ":" + mMinute; | |||
fromDate = mDayFrom + "/" + (mMonthFrom+1)+"/"+mYearFrom; | |||
System.out.println("date from "+fromDate + " "+ fromTime); | |||
} | |||
}); | |||
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); | |||
mDayTo = c.get(Calendar.DATE); | |||
mMonthTo = c.get(Calendar.MONTH); | |||
mYearTo = c.get(Calendar.YEAR); | |||
// 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) { | |||
if(hourOfDay>12) | |||
{ | |||
hourOfDay-=12; | |||
timeset="PM"; | |||
} | |||
else | |||
{ | |||
timeset="AM"; | |||
} | |||
textTimeTo.setText(hourOfDay+":"+minute+" "+timeset); | |||
} | |||
}, mHour, mMinute, false); | |||
timePickerDialog.show(); | |||
toDate = mDayTo + "/" + (mMonthTo+1)+"/"+mYearTo; | |||
System.out.println("date to "+mDayTo); | |||
} | |||
}); | |||
} | |||
private void open_date() { | |||
} | |||
public void getPermission(){ | |||
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 = new JSONObject(response); | |||
// } catch (JSONException e) { | |||
// throw new RuntimeException(e); | |||
// } | |||
try { | |||
JSONObject jsonObject = new JSONObject(response); | |||
_statusMessage = jsonObject.getString("_statusMessage"); | |||
String _statusCode=jsonObject.getString("_statusCode"); | |||
loading.dismiss(); | |||
if(_statusCode.equals("200")) | |||
{ | |||
new SweetAlertDialog(PermissionRequestActivity.this, SweetAlertDialog.SUCCESS_TYPE) | |||
.setTitleText("Permission request Successful") | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
} | |||
}).show(); | |||
txt_from_date.setText("From Date"); | |||
txt_to_date.setText("To Date"); | |||
textTimeTo.setText("Time to"); | |||
textTimeFrom.setText("Time from"); | |||
txt_p_date.setText(currentDateandTime); | |||
edtRemarks.setText(""); | |||
} | |||
else { | |||
Toast.makeText(PermissionRequestActivity.this, _statusMessage, Toast.LENGTH_LONG).show(); | |||
} | |||
} catch (JSONException e) { | |||
throw new RuntimeException(e); | |||
} | |||
} | |||
}, 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", Employeeid); | |||
params.put("eleavetype", code_type); | |||
if(code_type.equals("O")) { | |||
params.put("pdate", currentDateandTime); | |||
} | |||
else { | |||
params.put("pdate", currentDateandTime); | |||
} | |||
params.put("fromtime", textTimeFrom.getText().toString()); | |||
params.put("totime", textTimeTo.getText().toString()); | |||
params.put("reason", edtRemarks.getText().toString()); | |||
params.put("attachment", ""); | |||
params.put("userid", RegisterUser); | |||
if(code_type.equals("O")){ | |||
params.put("startdate", txt_from_date.getText().toString()); | |||
params.put("enddate", txt_to_date.getText().toString()); | |||
} | |||
else { | |||
params.put("startdate", ""); | |||
params.put("enddate", ""); | |||
} | |||
System.out.println("params in permission "+params); | |||
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(); | |||
try { | |||
JSONArray jsonArray=new JSONArray(response); | |||
for(int i=0;i<jsonArray.length();i++) | |||
{ | |||
JSONObject jb1=jsonArray.getJSONObject(i); | |||
permission_code=jb1.getString("Permission_code"); | |||
permission_type=jb1.getString("Permission_NameEN"); | |||
// spinner_array.add(permission_type); | |||
// spinner_array.add | |||
PermissionModel permissionModel=new PermissionModel(); | |||
permissionModel.setPermission_NameEN(permission_type); | |||
permissionModel.setPermission_code(permission_code); | |||
permission_type_list.add(permissionModel); | |||
} | |||
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter | |||
(getApplicationContext(), android.R.layout.simple_spinner_item, | |||
permission_type_list); //selected item will look like a spinner set from XML | |||
spinnerArrayAdapter.setDropDownViewResource(android.R.layout | |||
.simple_spinner_dropdown_item); | |||
spinner.setAdapter(spinnerArrayAdapter); | |||
} 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); | |||
}} |
@ -0,0 +1,564 @@ | |||
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,343 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.DatePickerDialog; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.content.SharedPreferences; | |||
import android.os.Bundle; | |||
import android.view.LayoutInflater; | |||
import android.view.View; | |||
import android.view.ViewGroup; | |||
import android.widget.AdapterView; | |||
import android.widget.BaseAdapter; | |||
import android.widget.Button; | |||
import android.widget.DatePicker; | |||
import android.widget.ImageButton; | |||
import android.widget.LinearLayout; | |||
import android.widget.ListView; | |||
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.io.Serializable; | |||
import java.util.ArrayList; | |||
import java.util.Calendar; | |||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||
import ru.visionlab.femdemo.models.ApprovalModel; | |||
import ru.visionlab.femdemo.models.ReportModel; | |||
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; | |||
String Employeeid; | |||
String RegisterUser; | |||
String pdate,Check_In,Check_Out,status; | |||
ListView listview_report; | |||
ArrayList<ReportModel> reportList=new ArrayList<ReportModel>(); | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_report); | |||
SharedPreferences shared = getSharedPreferences("MyPrefs", MODE_PRIVATE); | |||
Employeeid = shared.getString("Employeeid", ""); | |||
RegisterUser = shared.getString("RegisterUser", ""); | |||
toDate = findViewById(R.id.toDate); | |||
listview_report=findViewById(R.id.listview_report); | |||
textToDate = findViewById(R.id.textToDate); | |||
fromDate = findViewById(R.id.fromDate); | |||
textFromDate = findViewById(R.id.textFromDate); | |||
back = findViewById(R.id.back); | |||
btnReport = findViewById(R.id.btnReport); | |||
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.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.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(); | |||
} | |||
}); | |||
btnReport.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
if(textFromDate.getText().toString().equals("From date")) | |||
{ | |||
Toast.makeText(ReportActivity.this, "From date is required", Toast.LENGTH_SHORT).show(); | |||
} | |||
else if(textToDate.getText().toString().equals("To date")) | |||
{ | |||
Toast.makeText(ReportActivity.this, "To date is required", Toast.LENGTH_SHORT).show(); | |||
return; | |||
} | |||
else | |||
{ | |||
getReport(Employeeid,textFromDate.getText().toString(),textToDate.getText().toString()); | |||
} | |||
// Intent intent = new Intent(ReportActivity.this, ReportDetailsActivity.class); | |||
// intent.putExtra("passingDateFrom",passingDateFrom); | |||
// intent.putExtra("passingDateTo",passingDateTo); | |||
// startActivity(intent); | |||
//getReport(); | |||
} | |||
}); | |||
} | |||
public void getReport(String employeeid, String fromdate, String todate){ | |||
final ProgressDialog loading = ProgressDialog.show(ReportActivity.this, "Authenticating", "Please wait ", false, false); | |||
String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+employeeid+"&fromdate="+fromdate+"&todate="+todate; | |||
System.out.println("report url :"+url); | |||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||
@Override | |||
public void onResponse(String response) { | |||
try { | |||
if(!reportList.isEmpty()) | |||
{ | |||
reportList.clear(); | |||
} | |||
JSONObject jsonObject=new JSONObject(response); | |||
JSONObject jb1=jsonObject.getJSONObject("statusModel"); | |||
valuefromApi = jb1.getString("_statusMessage"); | |||
System.out.println("Report status from api " + valuefromApi); | |||
JSONArray jsonArray=jsonObject.getJSONArray("_lstAttendanceData"); | |||
for(int i=0;i<jsonArray.length();i++) | |||
{ | |||
JSONObject jb2=jsonArray.getJSONObject(i); | |||
pdate=jb2.getString("pdate"); | |||
Check_In=jb2.getString("Check_In"); | |||
Check_Out=jb2.getString("Check_Out"); | |||
status=jb2.getString("status"); | |||
ReportModel reportModel=new ReportModel(); | |||
reportModel.setPdate(pdate); | |||
reportModel.setCheck_In(Check_In); | |||
reportModel.setCheck_Out(Check_Out); | |||
reportModel.setStatus(status); | |||
reportList.add(reportModel); | |||
} | |||
if(valuefromApi.equals("success")) | |||
{ | |||
listview_report.setVisibility(View.VISIBLE); | |||
new SweetAlertDialog(ReportActivity.this, SweetAlertDialog.SUCCESS_TYPE) | |||
.setTitleText("Reports found") | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
listview_report.setAdapter(new Nr()); | |||
listview_report.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |||
@Override | |||
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { | |||
// ReportModel reportModel=reportList.get(i); | |||
// Intent intent = new Intent(ReportActivity.this,LeaveRequestDetailsActivity.class); | |||
// Bundle bundle=new Bundle(); | |||
// bundle.putSerializable("Reportdata", (Serializable) reportModel); | |||
// intent.putExtras(bundle); | |||
// startActivity(intent); | |||
} | |||
}); | |||
} | |||
}).show(); | |||
} | |||
else | |||
{ | |||
listview_report.setVisibility(View.GONE); | |||
new SweetAlertDialog(ReportActivity.this, SweetAlertDialog.ERROR_TYPE) | |||
.setTitleText("No data founds") | |||
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { | |||
@Override | |||
public void onClick(SweetAlertDialog sDialog) { | |||
sDialog.dismissWithAnimation(); | |||
} | |||
}).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(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); | |||
} | |||
private class Nr extends BaseAdapter { | |||
@Override | |||
public int getCount() { | |||
return reportList.size(); | |||
} | |||
@Override | |||
public Object getItem(int position) { | |||
return null; | |||
} | |||
@Override | |||
public long getItemId(int position) { | |||
return 0; | |||
} | |||
@Override | |||
public View getView(int position, View convertView, ViewGroup parent) { | |||
LayoutInflater inflater = getLayoutInflater(); | |||
View v = inflater.inflate(R.layout.report_list, null); | |||
TextView txt_pdate=v.findViewById(R.id.txt_pdate); | |||
TextView txt_checkin=v.findViewById(R.id.txt_checkin); | |||
TextView txt_checkout=v.findViewById(R.id.txt_checkout); | |||
TextView txt_status=v.findViewById(R.id.txt_status); | |||
txt_pdate.setText(reportList.get(position).getPdate()); | |||
txt_checkin.setText(reportList.get(position).getCheck_In()); | |||
txt_checkout.setText(reportList.get(position).getCheck_Out()); | |||
txt_status.setText(reportList.get(position).getStatus()); | |||
return v; | |||
} | |||
} | |||
} |
@ -0,0 +1,78 @@ | |||
package ru.visionlab.femdemo; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import android.app.ProgressDialog; | |||
import android.content.Intent; | |||
import android.content.SharedPreferences; | |||
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; | |||
String Employeeid,pdate,Check_In,Check_Out,status; | |||
@Override | |||
protected void onCreate(Bundle savedInstanceState) { | |||
super.onCreate(savedInstanceState); | |||
setContentView(R.layout.activity_report_details); | |||
SharedPreferences shared = getSharedPreferences("MyPrefs", MODE_PRIVATE); | |||
Employeeid = shared.getString("Employeeid", ""); | |||
Intent intent=getIntent(); | |||
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) { | |||
onBackPressed(); | |||
} | |||
}); | |||
pdate=intent.getStringExtra("pdate"); | |||
Check_In=intent.getStringExtra("Check_In"); | |||
Check_Out=intent.getStringExtra("Check_Out"); | |||
status=intent.getStringExtra("status"); | |||
empIdVal.setText(Employeeid); | |||
pdateVal.setText(pdate); | |||
Check_InVal.setText(Check_In); | |||
Check_OutVal.setText(Check_Out); | |||
statusVal.setText(status); | |||
} | |||
} |
@ -0,0 +1,105 @@ | |||
package ru.visionlab.femdemo.models; | |||
import java.io.Serializable; | |||
public class ApprovalModel implements Serializable { | |||
String RequestID,EmployeeID,EmployeeName,LDate, | |||
LTimeOut,LTimeIn,NoOfHrs,LeaveType, | |||
ApproverID,ApproverName,Reason,_statusCode; | |||
public String getRequestID() { | |||
return RequestID; | |||
} | |||
public void setRequestID(String requestID) { | |||
RequestID = requestID; | |||
} | |||
public String getEmployeeID() { | |||
return EmployeeID; | |||
} | |||
public void setEmployeeID(String employeeID) { | |||
EmployeeID = employeeID; | |||
} | |||
public String getEmployeeName() { | |||
return EmployeeName; | |||
} | |||
public void setEmployeeName(String employeeName) { | |||
EmployeeName = employeeName; | |||
} | |||
public String getLDate() { | |||
return LDate; | |||
} | |||
public void setLDate(String LDate) { | |||
this.LDate = LDate; | |||
} | |||
public String getLTimeOut() { | |||
return LTimeOut; | |||
} | |||
public void setLTimeOut(String LTimeOut) { | |||
this.LTimeOut = LTimeOut; | |||
} | |||
public String getLTimeIn() { | |||
return LTimeIn; | |||
} | |||
public void setLTimeIn(String LTimeIn) { | |||
this.LTimeIn = LTimeIn; | |||
} | |||
public String getNoOfHrs() { | |||
return NoOfHrs; | |||
} | |||
public void setNoOfHrs(String noOfHrs) { | |||
NoOfHrs = noOfHrs; | |||
} | |||
public String getLeaveType() { | |||
return LeaveType; | |||
} | |||
public void setLeaveType(String leaveType) { | |||
LeaveType = leaveType; | |||
} | |||
public String getApproverID() { | |||
return ApproverID; | |||
} | |||
public void setApproverID(String approverID) { | |||
ApproverID = approverID; | |||
} | |||
public String getApproverName() { | |||
return ApproverName; | |||
} | |||
public void setApproverName(String approverName) { | |||
ApproverName = approverName; | |||
} | |||
public String getReason() { | |||
return Reason; | |||
} | |||
public void setReason(String reason) { | |||
Reason = reason; | |||
} | |||
public String get_statusCode() { | |||
return _statusCode; | |||
} | |||
public void set_statusCode(String _statusCode) { | |||
this._statusCode = _statusCode; | |||
} | |||
} |
@ -0,0 +1,46 @@ | |||
package ru.visionlab.femdemo.models; | |||
public class ReportModel { | |||
String EmployeeID,pdate,Check_In,Check_Out,status; | |||
public String getEmployeeID() { | |||
return EmployeeID; | |||
} | |||
public void setEmployeeID(String employeeID) { | |||
EmployeeID = employeeID; | |||
} | |||
public String getPdate() { | |||
return pdate; | |||
} | |||
public void setPdate(String pdate) { | |||
this.pdate = pdate; | |||
} | |||
public String getCheck_In() { | |||
return Check_In; | |||
} | |||
public void setCheck_In(String check_In) { | |||
Check_In = check_In; | |||
} | |||
public String getCheck_Out() { | |||
return Check_Out; | |||
} | |||
public void setCheck_Out(String check_Out) { | |||
Check_Out = check_Out; | |||
} | |||
public String getStatus() { | |||
return status; | |||
} | |||
public void setStatus(String status) { | |||
this.status = status; | |||
} | |||
} |
@ -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,42 @@ | |||
<?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:tools="http://schemas.android.com/tools" | |||
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="Request list" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center_horizontal" | |||
android:layout_marginLeft="110dp" | |||
/> | |||
</LinearLayout> | |||
<ListView | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent" | |||
android:id="@+id/listview" | |||
tools:listitem="@layout/listview_layout" | |||
android:layout_marginTop="20dp"/> | |||
</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,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=".LeaveRequestDetailsActivity" | |||
android:orientation="vertical" | |||
android:padding="23dp"> | |||
<ScrollView | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<LinearLayout | |||
android:orientation="vertical" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"> | |||
<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:id="@+id/emp_name" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
android:textStyle="bold" | |||
android:textColor="#000000"/> | |||
<TextView | |||
android:id="@+id/leavdate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
android:textStyle="normal" | |||
android:textColor="#5F5F5F"/> | |||
<TextView | |||
android:id="@+id/leavtype" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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:id="@+id/hours" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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="Hours" | |||
android:textSize="26sp" | |||
android:textStyle="normal" | |||
android:textColor="#000000" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
</LinearLayout> | |||
<Button | |||
android:id="@+id/btn_leav_type" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:background="@drawable/bg_btn_with_stroke_grey" | |||
android:text="" | |||
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="Time In" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="30dp"/> | |||
<TextView | |||
android:id="@+id/txt_time_in" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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="Time Out" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="20dp"/> | |||
<TextView | |||
android:id="@+id/txt_time_out" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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="20dp"/> | |||
<TextView | |||
android:id="@+id/txt_approver_name" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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="Reason" | |||
android:textColor="#A1A1A1" | |||
android:layout_marginTop="20dp"/> | |||
<TextView | |||
android:id="@+id/txt_reason" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="" | |||
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> | |||
</ScrollView> | |||
</LinearLayout> |
@ -0,0 +1,313 @@ | |||
<?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"> | |||
<ScrollView | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content"> | |||
<LinearLayout | |||
android:orientation="vertical" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent"> | |||
<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> | |||
<RelativeLayout | |||
android:id="@+id/private_date" | |||
android:layout_width="match_parent" | |||
android:layout_height="45dp" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="25dp"> | |||
<TextView | |||
android:id="@+id/txtPDate" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="Date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="135dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/official_from_date" | |||
android:layout_width="match_parent" | |||
android:layout_height="45dp" | |||
android:layout_marginLeft="14dp" | |||
android:visibility="gone" | |||
android:layout_marginRight="14dp" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="25dp"> | |||
<TextView | |||
android:id="@+id/txt_from_date" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="From Date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="135dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</RelativeLayout> | |||
<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> | |||
<RelativeLayout | |||
android:id="@+id/official_to_date" | |||
android:layout_width="match_parent" | |||
android:layout_height="45dp" | |||
android:layout_marginLeft="14dp" | |||
android:visibility="gone" | |||
android:layout_marginRight="14dp" | |||
android:background="@drawable/bg_button_time" | |||
android:layout_marginTop="25dp"> | |||
<TextView | |||
android:id="@+id/txt_to_date" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:text="To Date" | |||
android:textColor="@color/black" | |||
android:layout_gravity="center" | |||
android:paddingLeft="135dp" | |||
android:textSize="17sp" | |||
android:textStyle="bold" | |||
/> | |||
</RelativeLayout> | |||
<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:padding="10dp" | |||
android:background="@drawable/edittext_border" | |||
android:layout_marginLeft="14dp" | |||
android:layout_marginRight="14dp" | |||
android:layout_marginTop="30dp" | |||
android:hint="Remarks" | |||
android:gravity="left"/> | |||
<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="100dp" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:text="Submit" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
/> | |||
</LinearLayout> | |||
</ScrollView> | |||
</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,132 @@ | |||
<?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="40dp" | |||
android:background="@drawable/bg_btn_with_stroke" | |||
android:text="Submit" | |||
android:textAllCaps="false" | |||
android:textColor="@color/white" | |||
/> | |||
<ListView | |||
android:id="@+id/listview_report" | |||
android:layout_width="match_parent" | |||
android:layout_marginTop="30dp" | |||
tools:listitem="@layout/report_list" | |||
android:dividerHeight="5.0sp" | |||
android:divider="@android:color/transparent" | |||
android:layout_height="wrap_content"></ListView> | |||
</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> |
@ -0,0 +1,13 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:layout_width="match_parent" | |||
android:layout_height="match_parent" | |||
android:orientation="vertical" | |||
android:paddingLeft="20dp" | |||
android:paddingRight="20dp"> | |||
<EditText | |||
android:id="@+id/ed_remarks" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" /> | |||
</LinearLayout> |
@ -0,0 +1,192 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:weightSum="2" | |||
android:padding="10dp" | |||
android:layout_margin="10dp" | |||
android:orientation="vertical" | |||
android:background="@drawable/edittext_border" | |||
> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<TextView | |||
android:id="@+id/EmployeeName" | |||
android:text="Employee Name" | |||
android:layout_marginTop="5dp" | |||
android:layout_marginBottom="5dp" | |||
android:layout_weight="0.5" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/EmployeeNameVal" | |||
android:text="EmployeeName" | |||
android:layout_weight="0.5" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<TextView | |||
android:id="@+id/EmployeeID" | |||
android:text="Employee ID" | |||
android:layout_marginTop="5dp" | |||
android:layout_marginBottom="5dp" | |||
android:layout_weight="0.5" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/EmployeeIDVal" | |||
android:text="EmployeeID" | |||
android:layout_weight="0.5" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<TextView | |||
android:id="@+id/LeaveType" | |||
android:text="Leave Type" | |||
android:layout_marginTop="5dp" | |||
android:layout_marginBottom="5dp" | |||
android:layout_weight="0.5" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/LeaveTypeVal" | |||
android:text="LeaveType" | |||
android:layout_weight="0.5" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal"> | |||
<TextView | |||
android:id="@+id/ApproverName" | |||
android:text="Approver Name" | |||
android:layout_marginTop="5dp" | |||
android:layout_marginBottom="5dp" | |||
android:layout_weight="0.5" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/ApproverNameVal" | |||
android:text="ApproverName" | |||
android:layout_weight="0.5" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:gravity="center_horizontal" | |||
/> | |||
</LinearLayout> | |||
<LinearLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:orientation="horizontal" | |||
android:gravity="center_horizontal" | |||
android:layout_marginRight="5dp"> | |||
<LinearLayout | |||
android:id="@+id/ll_approve" | |||
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_marginLeft="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,167 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
> | |||
<RelativeLayout | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
android:padding="10dp" | |||
android:background="@drawable/edittext_border"> | |||
<!-- <RelativeLayout--> | |||
<!-- android:id="@+id/rl_1"--> | |||
<!-- android:layout_width="match_parent"--> | |||
<!-- android:layout_height="wrap_content"--> | |||
<!-- >--> | |||
<!-- <TextView--> | |||
<!-- android:id="@+id/EmployeeName"--> | |||
<!-- android:text="Employee ID"--> | |||
<!-- android:textSize="18sp"--> | |||
<!-- android:textStyle="bold"--> | |||
<!-- android:layout_width="fill_parent"--> | |||
<!-- android:layout_height="wrap_content"--> | |||
<!-- android:textColor="@color/colorPrimary" />--> | |||
<!-- <TextView--> | |||
<!-- android:id="@+id/emp_id"--> | |||
<!-- android:text="Employee ID"--> | |||
<!-- android:layout_width="wrap_content"--> | |||
<!-- android:layout_height="wrap_content"--> | |||
<!-- android:textColor="#5d5d5d"--> | |||
<!-- android:layout_alignParentRight="true"--> | |||
<!-- android:gravity="center_horizontal"--> | |||
<!-- />--> | |||
<!-- </RelativeLayout>--> | |||
<RelativeLayout | |||
android:id="@+id/rl_2" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
> | |||
<TextView | |||
android:id="@+id/pdate" | |||
android:text="Private Date" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/txt_pdate" | |||
android:text="" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:layout_alignParentRight="true" | |||
android:gravity="center_horizontal" | |||
/> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl_3" | |||
android:layout_below="@id/rl_2" | |||
android:layout_marginTop="10dp" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
> | |||
<TextView | |||
android:id="@+id/checkin" | |||
android:text="Check In" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/txt_checkin" | |||
android:text="" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:layout_alignParentRight="true" | |||
android:gravity="center_horizontal" | |||
/> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl_4" | |||
android:layout_below="@id/rl_3" | |||
android:layout_marginTop="10dp" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
> | |||
<TextView | |||
android:id="@+id/checkout" | |||
android:text="Check Out" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/txt_checkout" | |||
android:text="" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:layout_alignParentRight="true" | |||
android:gravity="center_horizontal" | |||
/> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:id="@+id/rl_5" | |||
android:layout_below="@id/rl_4" | |||
android:layout_marginTop="10dp" | |||
android:layout_width="match_parent" | |||
android:layout_height="wrap_content" | |||
> | |||
<TextView | |||
android:id="@+id/status" | |||
android:text="Status" | |||
android:textSize="18sp" | |||
android:textStyle="bold" | |||
android:layout_width="fill_parent" | |||
android:layout_height="wrap_content" | |||
android:textColor="@color/colorPrimary" /> | |||
<TextView | |||
android:id="@+id/txt_status" | |||
android:text="" | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:textColor="#5d5d5d" | |||
android:layout_alignParentRight="true" | |||
android:gravity="center_horizontal" | |||
/> | |||
</RelativeLayout> | |||
<RelativeLayout | |||
android:layout_width="wrap_content" | |||
android:layout_height="wrap_content" | |||
android:layout_marginTop="2dp"></RelativeLayout> | |||
</RelativeLayout> | |||
</RelativeLayout> |