Author | SHA1 | Message | Date |
---|---|---|---|
Tamojit Biswas | 63a0812e52 | design and api implementation spinner | 1 year ago |
Apalak Dutta | b5ada09064 | Api implementation on Reject button | 1 year ago |
Apalak Dutta | 11c7d56a1a | Adding buttons to list item | 1 year ago |
Apalak Dutta | 6072c4bb1a | Permission and approve list | 1 year ago |
Apalak Dutta | f27734409c | Dated 22-09-2023 | 1 year ago |
Apalak Dutta | 6a277e4dde | Dated 22-09-2023 | 1 year ago |
Apalak Dutta | da72cfdcfb | Licence verification display | 1 year ago |
Apalak Dutta | ffa34bd808 | Display licence verification status | 1 year ago |
Apalak Dutta | c80dc745a0 | pms_issue/31163_Face verification | 1 year ago |
@ -0,0 +1,158 @@ | |||||
package ru.visionlab.femdemo; | |||||
import androidx.appcompat.app.AppCompatActivity; | |||||
import android.app.ProgressDialog; | |||||
import android.content.Intent; | |||||
import android.os.Bundle; | |||||
import android.view.View; | |||||
import android.widget.AdapterView; | |||||
import android.widget.ImageButton; | |||||
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.util.ArrayList; | |||||
import java.util.HashMap; | |||||
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; | |||||
ArrayList<HashMap<String,String>> arrayList; | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
//setContentView(R.layout.activity_approval_list); | |||||
setContentView(R.layout.activity_approval_new_list); | |||||
back = findViewById(R.id.back); | |||||
back.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
onBackPressed(); | |||||
} | |||||
}); | |||||
arrayList=new ArrayList<>(); | |||||
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=27256"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONArray jsonArray=new JSONArray(response); | |||||
for(int i = 0;i<jsonArray.length();i++){ | |||||
JSONObject jb1=jsonArray.getJSONObject(0); | |||||
RequestID = jb1.getString("RequestID"); | |||||
EmployeeID = jb1.getString("EmployeeID"); | |||||
EmployeeName = jb1.getString("EmployeeName"); | |||||
LDate = jb1.getString("LDate"); | |||||
LTimeOut = jb1.getString("LTimeOut"); | |||||
LTimeIn = jb1.getString("LTimeIn"); | |||||
NoOfHrs = jb1.getString("NoOfHrs"); | |||||
LeaveType = jb1.getString("LeaveType"); | |||||
ApproverID = jb1.getString("ApproverID"); | |||||
ApproverName = jb1.getString("ApproverName"); | |||||
Reason = jb1.getString("Reason"); | |||||
HashMap<String,String> data = new HashMap<>(); | |||||
data.put("EmployeeName",EmployeeName); | |||||
data.put("EmployeeID",EmployeeID); | |||||
data.put("LeaveType",LeaveType); | |||||
data.put("ApproverName",ApproverName); | |||||
arrayList.add(data); | |||||
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); | |||||
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |||||
@Override | |||||
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { | |||||
Intent intent = new Intent(ApprovalListActivity.this,LeaveRequestDetailsActivity.class); | |||||
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); | |||||
} | |||||
} |
@ -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,121 @@ | |||||
package ru.visionlab.femdemo; | |||||
import androidx.appcompat.app.AppCompatActivity; | |||||
import android.app.ProgressDialog; | |||||
import android.os.Bundle; | |||||
import android.view.View; | |||||
import android.widget.Button; | |||||
import android.widget.ImageButton; | |||||
import android.widget.ImageView; | |||||
import android.widget.Toast; | |||||
import com.android.volley.Request; | |||||
import com.android.volley.VolleyError; | |||||
import com.android.volley.toolbox.StringRequest; | |||||
import com.android.volley.toolbox.Volley; | |||||
import org.json.JSONArray; | |||||
import org.json.JSONException; | |||||
import org.json.JSONObject; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
import ru.visionlab.femdemo.R; | |||||
public class LeaveRequestDetailsActivity extends AppCompatActivity { | |||||
Button btnapprove,btnreject; | |||||
ImageButton back; | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
setContentView(R.layout.activity_leave_request_details); | |||||
back = findViewById(R.id.back); | |||||
back.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
onBackPressed(); | |||||
} | |||||
}); | |||||
btnapprove = findViewById(R.id.btnapprove); | |||||
btnapprove.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
PermissionApprovalAction(); | |||||
} | |||||
}); | |||||
btnreject = findViewById(R.id.btnreject); | |||||
btnreject.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
PermissionApprovalAction(); | |||||
} | |||||
}); | |||||
} | |||||
public void PermissionApprovalAction(){ | |||||
final ProgressDialog loading = ProgressDialog.show(LeaveRequestDetailsActivity.this, "Fetching information", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/PermissionApprovalAction"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONObject jsonObject = new JSONObject(response); | |||||
String _statusMessage3 = jsonObject.getString("_statusMessage"); | |||||
System.out.println("_statusMessage "+_statusMessage3); | |||||
if(_statusMessage3.equals("Saved Successfully")){ | |||||
Toast.makeText(LeaveRequestDetailsActivity.this, "Current Status :A", Toast.LENGTH_SHORT).show(); | |||||
} | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(LeaveRequestDetailsActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
@Override | |||||
protected Map<String, String> getParams() { | |||||
Map<String, String> params = new HashMap<String, String>(); | |||||
params.put("permissionID", "27507"); | |||||
params.put("eleavetype", "27256"); | |||||
params.put("actionby", "asaif"); | |||||
params.put("remark", "Testing Approve"); | |||||
params.put("actionflag", "A"); | |||||
return params; | |||||
} | |||||
}; | |||||
Volley.newRequestQueue(LeaveRequestDetailsActivity.this).add(stringRequest); | |||||
} | |||||
} |
@ -0,0 +1,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,455 @@ | |||||
package ru.visionlab.femdemo; | |||||
import androidx.appcompat.app.AppCompatActivity; | |||||
import android.app.ProgressDialog; | |||||
import android.app.TimePickerDialog; | |||||
import android.content.Intent; | |||||
import android.os.Bundle; | |||||
import android.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.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.util.Calendar; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
import ru.visionlab.femdemo.R; | |||||
import ru.visionlab.femdemo.login.LoginActivity; | |||||
public class PermissionRequestActivity extends AppCompatActivity { | |||||
ImageButton back; | |||||
Button btnSubmit,btn_private; | |||||
String _statusMessage; | |||||
EditText edtRemarks; | |||||
String remarks=""; | |||||
LinearLayout timePickerFrom,timePickerTo; | |||||
private int mDay, mHour, mMinute; | |||||
TextView textTimeFrom,textTimeTo; | |||||
LinearLayout linearLayout1; | |||||
Spinner spinner; | |||||
String permission_type; | |||||
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 permission_code; | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
setContentView(R.layout.activity_permission_request); | |||||
linearLayout1 = findViewById(R.id.linearLayout1); | |||||
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); | |||||
IsELeaveApprover(); | |||||
//PermissionInsert(); | |||||
PermissionApprovalList(); | |||||
PermissionTypes(); | |||||
spinner = findViewById(R.id.spinner); | |||||
// ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.spinner_items, android.R.layout.simple_spinner_item); | |||||
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); | |||||
// spinner.setAdapter(adapter); | |||||
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { | |||||
@Override | |||||
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { | |||||
// Handle the selected item here | |||||
PermissionModel permissionModel=(PermissionModel) parentView.getSelectedItem(); | |||||
Log.d("code",permissionModel.Permission_code); | |||||
// Do something with the selected item | |||||
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) { | |||||
} | |||||
}); | |||||
back = findViewById(R.id.back); | |||||
back.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
/*Intent intent = new Intent(PermissionRequestActivity.this, CheckInActivity.class); | |||||
intent.putExtra("backToCheck",true); | |||||
startActivity(intent);*/ | |||||
onBackPressed(); | |||||
} | |||||
}); | |||||
btn_private = findViewById(R.id.btn_private); | |||||
btn_private.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
Intent intent = new Intent(PermissionRequestActivity.this, LeaveRequestActivity.class); | |||||
startActivity(intent); | |||||
} | |||||
}); | |||||
btnSubmit = findViewById(R.id.btnSubmit); | |||||
btnSubmit.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
getPermission(); | |||||
} | |||||
}); | |||||
edtRemarks = findViewById(R.id.edtRemarks); | |||||
timePickerFrom = findViewById(R.id.timePickerFrom); | |||||
textTimeFrom = findViewById(R.id.textTimeFrom); | |||||
timePickerFrom.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
final Calendar c = Calendar.getInstance(); | |||||
mHour = c.get(Calendar.HOUR_OF_DAY); | |||||
mMinute = c.get(Calendar.MINUTE); | |||||
// Launch Time Picker Dialog | |||||
TimePickerDialog timePickerDialog = new TimePickerDialog(PermissionRequestActivity.this, | |||||
new android.app.TimePickerDialog.OnTimeSetListener() { | |||||
@Override | |||||
public void onTimeSet(TimePicker view, int hourOfDay, | |||||
int minute) { | |||||
textTimeFrom.setText(hourOfDay + ":" + minute); | |||||
} | |||||
}, mHour, mMinute, false); | |||||
timePickerDialog.show(); | |||||
} | |||||
}); | |||||
timePickerTo = findViewById(R.id.timePickerTo); | |||||
textTimeTo = findViewById(R.id.textTimeTo); | |||||
timePickerTo.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
final Calendar c = Calendar.getInstance(); | |||||
mHour = c.get(Calendar.HOUR_OF_DAY); | |||||
mMinute = c.get(Calendar.MINUTE); | |||||
// Launch Time Picker Dialog | |||||
TimePickerDialog timePickerDialog = new TimePickerDialog(PermissionRequestActivity.this, | |||||
new android.app.TimePickerDialog.OnTimeSetListener() { | |||||
@Override | |||||
public void onTimeSet(TimePicker view, int hourOfDay, | |||||
int minute) { | |||||
textTimeTo.setText(hourOfDay + ":" + minute); | |||||
} | |||||
}, mHour, mMinute, false); | |||||
timePickerDialog.show(); | |||||
} | |||||
}); | |||||
} | |||||
public void getPermission(){ | |||||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||||
remarks = edtRemarks.getText().toString(); | |||||
String url= "http://43.242.212.92:7001/api/lgt/PermissionInsert"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
JSONObject jsonObject= null; | |||||
try { | |||||
jsonObject = new JSONObject(response); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
try { | |||||
_statusMessage = jsonObject.getString("_statusMessage"); | |||||
System.out.println("Status message: "+_statusMessage); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
Toast.makeText(PermissionRequestActivity.this, _statusMessage, Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
@Override | |||||
protected Map<String, String> getParams() { | |||||
Map<String, String> params = new HashMap<String, String>(); | |||||
params.put("employeeid", "101"); | |||||
params.put("eleavetype", "P"); | |||||
params.put("datedaytype", "Today"); | |||||
params.put("fromtime", "13:22"); | |||||
params.put("totime", "15:22"); | |||||
params.put("reason", remarks); | |||||
params.put("attachment", ""); | |||||
params.put("userid", "a"); | |||||
return params; | |||||
} | |||||
}; | |||||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||||
} | |||||
public void IsELeaveApprover(){ | |||||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/IsELeaveApprover?employeeid=29034"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONArray jsonArray=new JSONArray(response); | |||||
JSONObject jb1=jsonArray.getJSONObject(0); | |||||
boolean _approverstatus=jb1.getBoolean("_approverstatus"); | |||||
if(!_approverstatus){ | |||||
linearLayout1.setVisibility(View.GONE); | |||||
} | |||||
System.out.println("_approverstatus " + _approverstatus); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
}; | |||||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||||
} | |||||
public void PermissionInsert(){ | |||||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/PermissionInsert"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONObject jsonObject = new JSONObject(response); | |||||
String _statusMessage = jsonObject.getString("_statusMessage"); | |||||
System.out.println("_statusMessage "+_statusMessage); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
@Override | |||||
protected Map<String, String> getParams() { | |||||
Map<String, String> params = new HashMap<String, String>(); | |||||
params.put("employeeid", "101"); | |||||
params.put("eleavetype", "P"); | |||||
params.put("datedaytype", "Today"); | |||||
params.put("fromtime", "13:22"); | |||||
params.put("totime", "15:22"); | |||||
params.put("reason", "Meeting"); | |||||
params.put("attachment", ""); | |||||
params.put("userid", "a"); | |||||
params.put("startdate", "demouser1"); | |||||
params.put("enddate", ""); | |||||
return params; | |||||
} | |||||
}; | |||||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||||
} | |||||
public void PermissionApprovalList(){ | |||||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/PermissionApprovallist?ApproverID=27256"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
Toast.makeText(PermissionRequestActivity.this, "Response successful1", Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(PermissionRequestActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
}; | |||||
Volley.newRequestQueue(PermissionRequestActivity.this).add(stringRequest); | |||||
} | |||||
public void PermissionTypes(){ | |||||
final ProgressDialog loading = ProgressDialog.show(PermissionRequestActivity.this, "Fetching information", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/PermissionTypes"; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
// Toast.makeText(PermissionRequestActivity.this, "Response successful2", Toast.LENGTH_SHORT).show(); | |||||
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,565 @@ | |||||
package ru.visionlab.femdemo; | |||||
import android.Manifest; | |||||
import android.annotation.SuppressLint; | |||||
import android.content.Intent; | |||||
import android.graphics.Bitmap; | |||||
import android.media.MediaScannerConnection; | |||||
import android.net.Uri; | |||||
import android.os.Bundle; | |||||
import android.os.Environment; | |||||
import android.os.Handler; | |||||
import android.provider.MediaStore; | |||||
import android.util.Base64; | |||||
import android.util.Log; | |||||
import android.view.MenuItem; | |||||
import android.view.View; | |||||
import android.widget.Button; | |||||
import android.widget.EditText; | |||||
import android.widget.ImageButton; | |||||
import android.widget.ImageView; | |||||
import android.widget.Toast; | |||||
import androidx.annotation.Nullable; | |||||
import androidx.appcompat.app.ActionBar; | |||||
import androidx.appcompat.widget.Toolbar; | |||||
import androidx.fragment.app.Fragment; | |||||
import androidx.fragment.app.FragmentManager; | |||||
import com.tbruyelle.rxpermissions.RxPermissions; | |||||
import java.io.ByteArrayOutputStream; | |||||
import java.io.File; | |||||
import java.io.FileOutputStream; | |||||
import java.net.SocketException; | |||||
import java.util.List; | |||||
import javax.inject.Inject; | |||||
import butterknife.BindView; | |||||
import cn.pedant.SweetAlert.SweetAlertDialog; | |||||
import ru.PreferenceManager.PreferenceManager; | |||||
import ru.visionlab.femdemo.CheckInActivity; | |||||
import ru.visionlab.femdemo.Config; | |||||
import ru.visionlab.femdemo.Core.PhotoProcessor; | |||||
import ru.visionlab.femdemo.App; | |||||
import ru.visionlab.femdemo.BuildConfig; | |||||
import ru.visionlab.femdemo.LocationHelper; | |||||
import ru.visionlab.femdemo.R; | |||||
import ru.visionlab.femdemo.Storage; | |||||
import ru.visionlab.femdemo.Utils; | |||||
import ru.visionlab.femdemo.api.RegisterApiImplLuna2; | |||||
import ru.visionlab.femdemo.api.RegisterApiImplLocal; | |||||
import ru.visionlab.femdemo.api.RegisterApiInterface; | |||||
import ru.visionlab.femdemo.api.VLApi; | |||||
import ru.visionlab.femdemo.api.VerifyApiImplLuna2; | |||||
import ru.visionlab.femdemo.api.VerifyApiImplLunaLocal; | |||||
import ru.visionlab.femdemo.api.VerifyApiInterface; | |||||
import ru.visionlab.femdemo.authentication.AuthSuccessActivity; | |||||
import ru.visionlab.femdemo.authentication.AuthenticationActivity; | |||||
import ru.visionlab.femdemo.authentication.FaceNotRecognizedFragment; | |||||
import ru.visionlab.femdemo.base.PhotoFragment; | |||||
import ru.visionlab.femdemo.base.ToolbarActivity; | |||||
import ru.visionlab.femdemo.login.LoginActivity; | |||||
import ru.visionlab.femdemo.login.LoginActivityNew; | |||||
import ru.visionlab.femdemo.models.SearchResult; | |||||
import ru.visionlab.femdemo.models.SearchResultPerson; | |||||
import ru.visionlab.femdemo.register.FaceNotFoundFragment; | |||||
import ru.visionlab.femdemo.register.RegisterFragment; | |||||
import ru.visionlab.femdemo.register.RegistrationModel; | |||||
import ru.visionlab.femdemo.register.SavePhotoFragment; | |||||
import ru.visionlab.femdemo.settings.VLPreferences; | |||||
public class RegisterFromCheckActivity extends ToolbarActivity implements RegisterFragment.Listener, PhotoFragment.Listener, | |||||
SavePhotoFragment.Listener, FaceNotFoundFragment.Listener, RegisterApiInterface.Listener, VerifyApiInterface.Listener, FaceNotRecognizedFragment.Listener{ | |||||
public static final String REGISTER_FRAGMENT = "REGISTER FRAGMENT"; | |||||
public static final String PHOTO_FRAGMENT = "PHOTO_FRAGMENT"; | |||||
public static final String SAVE_PHOTO_FRAGMENT = "SAVE PHOTO FRAGMENT"; | |||||
public static final String FACE_NOT_FOUND_FRAGMENT = "FACE NOT FOUND FRAGMENT"; | |||||
public static final String SAVE_PHOTO_NAME = "PhotomakerAndroidDemo Registration Photo"; | |||||
private Thread thread; | |||||
EditText compId,username,otp; | |||||
String company_ID="",user="",OTP=""; | |||||
@Inject | |||||
VLPreferences preferences; | |||||
@Inject | |||||
VLApi api; | |||||
@Inject | |||||
LocationHelper locationHelper; | |||||
@Inject | |||||
PhotoProcessor photoProcessor; | |||||
@Nullable | |||||
@BindView(R.id.toolbar) | |||||
Toolbar toolbar; | |||||
Bitmap bitmap; | |||||
RegistrationModel registrationModel; | |||||
ImageButton back_img; | |||||
Button verifynproceed; | |||||
ImageView photo; | |||||
private static final int pic_id = 123; | |||||
PreferenceManager preferenceManager; | |||||
Bitmap photo2=null; | |||||
Button save,retry; | |||||
String encodedImage=""; | |||||
boolean fromLoginPage,FromNewCheck; | |||||
private PhotoFragment fragment; | |||||
String login; | |||||
private long verifEndTime; | |||||
private long verifStartTime; | |||||
private int faceFailCount; | |||||
private boolean goingSomewhere = false; | |||||
@SuppressLint("MissingInflatedId") | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
((App) getApplication()).getComponent().inject(this); | |||||
setContentView(R.layout.activity_register); | |||||
//ButterKnife.bind(this); | |||||
setToolbar(); | |||||
Intent intent = getIntent(); | |||||
fromLoginPage = intent.getBooleanExtra("FromLoginPage",true); | |||||
System.out.println("Value of FromLoginPage "+fromLoginPage); | |||||
if(fromLoginPage){ | |||||
showPhotoScreen(); | |||||
} | |||||
else { | |||||
showRegisterScreen(); | |||||
} | |||||
FromNewCheck = intent.getBooleanExtra("FromLoginPage",false); | |||||
System.out.println("Value of FromNewCheck "+FromNewCheck); | |||||
/*back_img.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); | |||||
startActivity(intent); | |||||
} | |||||
});*/ | |||||
// compId = findViewById(R.id.compId); | |||||
// username = findViewById(R.id.username); | |||||
// otp = findViewById(R.id.otp); | |||||
// company_ID = compId.getText().toString().trim(); | |||||
// user = username.getText().toString().trim(); | |||||
// OTP = otp.getText().toString().trim(); | |||||
/*verifynproceed = findViewById(R.id.verifynproceed); | |||||
verifynproceed.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
if(company_ID.equals("002") *//*&& user.equals("34") *//* && OTP.equals("444")){ | |||||
Intent intent = new Intent(RegisterActivity.this, LoginActivity.class); | |||||
startActivity(intent); | |||||
} | |||||
} | |||||
});*/ | |||||
preferenceManager=PreferenceManager.getInstance(this); | |||||
} | |||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |||||
super.onActivityResult(requestCode, resultCode, data); | |||||
// Match the request 'pic id with requestCode | |||||
if (requestCode == pic_id) { | |||||
// BitMap is data structure of image file which store the image in memory | |||||
photo2 = (Bitmap) data.getExtras().get("data"); | |||||
// Set the image in imageview for display | |||||
if(photo2.equals("") || photo2==null){ | |||||
photo.setBackgroundResource(R.drawable.user1); | |||||
} | |||||
else { | |||||
photo.setImageDrawable(null); | |||||
photo.setImageBitmap(photo2); | |||||
System.out.println("imageview "+ photo.getDrawable()); | |||||
System.out.println("imageview photo2 "+ photo2); | |||||
Toast.makeText(this, "Image set", Toast.LENGTH_SHORT).show(); | |||||
} | |||||
} | |||||
} | |||||
@Override | |||||
protected void onDestroy() | |||||
{ | |||||
photoProcessor.release(); | |||||
super.onDestroy(); | |||||
} | |||||
private void showRegisterScreen() { | |||||
final RegisterFragment fragment = RegisterFragment.newInstance(); | |||||
fragment.setListener(this); | |||||
getSupportFragmentManager() | |||||
.beginTransaction() | |||||
.replace(R.id.container, fragment, PHOTO_FRAGMENT) | |||||
.addToBackStack(fragment.toString()) | |||||
.commit(); | |||||
} | |||||
private void setToolbar() { | |||||
setSupportActionBar(toolbar); | |||||
final ActionBar actionBar = getSupportActionBar(); | |||||
if (actionBar != null) { | |||||
actionBar.setDisplayHomeAsUpEnabled(true); | |||||
actionBar.setDisplayShowHomeEnabled(true); | |||||
} | |||||
} | |||||
@Override | |||||
public void onBackPressed() { | |||||
Log.i("STATUS","STACK COUNT "+getSupportFragmentManager().getBackStackEntryCount()); | |||||
preferences.setStartTime(String.valueOf(System.currentTimeMillis())); | |||||
if (getSupportFragmentManager().getBackStackEntryCount() > 1) { | |||||
getSupportFragmentManager().popBackStack(); | |||||
} else { | |||||
super.onBackPressed(); | |||||
} | |||||
} | |||||
@Override | |||||
public void onSignUpClick(RegistrationModel registrationModel) { | |||||
if((!BuildConfig.IS_OFFLINE_VERSION) && preferences.getLuna2()) { | |||||
thread = new Thread(() -> { | |||||
Storage.getInstance().updateDatabase(preferences.getLuna2Server(), preferences.getEncodedUserData(), api, preferences.getServerChanged()); | |||||
}); | |||||
thread.start(); | |||||
} | |||||
this.registrationModel = registrationModel; | |||||
Utils.hideKeyboard(this, getCurrentFocus()); | |||||
new Handler().post(this::showPhotoScreen); | |||||
} | |||||
private void showPhotoScreen() { | |||||
fragment = PhotoFragment.newInstance(); | |||||
fragment.setPhotoProcessor(photoProcessor); | |||||
fragment.setListener(this); | |||||
fragment.enableLivenessCheck(false); | |||||
preferences.setStartTime(String.valueOf(System.currentTimeMillis())); | |||||
preferences.setNeedPortrait(false); | |||||
System.out.println("Inside photo screen method"); | |||||
getSupportFragmentManager() | |||||
.beginTransaction() | |||||
.replace(R.id.container, fragment, PHOTO_FRAGMENT) | |||||
.addToBackStack(fragment.toString()) | |||||
.commit(); | |||||
} | |||||
private void showPhotoReadyScreen(Bitmap bitmap) { | |||||
final SavePhotoFragment fragment = SavePhotoFragment.newInstance(); | |||||
fragment.setPhoto(bitmap); | |||||
fragment.setListener(this); | |||||
getSupportFragmentManager() | |||||
.beginTransaction() | |||||
.replace(R.id.container, fragment, SAVE_PHOTO_FRAGMENT) | |||||
.addToBackStack(fragment.toString()) | |||||
.commit(); | |||||
System.out.println("Inside save photo screen method"); | |||||
} | |||||
@Override | |||||
public void onBestFrameReady(Bitmap bitmap) { | |||||
this.bitmap = bitmap; | |||||
if(fromLoginPage){ | |||||
verifyPhoto(bitmap); | |||||
} | |||||
showPhotoReadyScreen(bitmap); | |||||
} | |||||
private void verifyPhoto(Bitmap bitmap){ | |||||
fragment.showWaitState(); | |||||
login=preferences.getUsername(); | |||||
System.out.println("Value of login while verification " + login); | |||||
try { | |||||
if (thread != null) | |||||
thread.join(); | |||||
}catch (InterruptedException e) { | |||||
e.printStackTrace(); | |||||
} | |||||
VerifyApiInterface verifyApi; | |||||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||||
verifyApi = new VerifyApiImplLunaLocal(this, photoProcessor, login, this); | |||||
} else { //if (preferences.getLuna2()) { | |||||
Log.i("LUNA2 ", preferences.getLuna2Server()); | |||||
verifyApi = new VerifyApiImplLuna2(this, preferences.getLuna2Server(), login, api, this, bitmap, preferences.getEncodedUserData()); | |||||
} | |||||
verifStartTime = System.nanoTime(); | |||||
verifyApi.verifyPerson(); | |||||
} | |||||
@Override | |||||
public void onTimeout(FaceNotFoundFragment.Reason reason) { | |||||
final FaceNotFoundFragment fragment = FaceNotFoundFragment.newInstance(); | |||||
fragment.setReason(reason); | |||||
fragment.setListener(this); | |||||
getSupportFragmentManager() | |||||
.beginTransaction() | |||||
.replace(R.id.container, fragment, FACE_NOT_FOUND_FRAGMENT) | |||||
.addToBackStack(fragment.toString()) | |||||
.commit(); | |||||
} | |||||
@Override | |||||
public void onNeedCameraPermission() { | |||||
goToAppDetails(R.string.permission_need_for_register); | |||||
} | |||||
@Override | |||||
public void onInteractionWaitingOpenedEyes() {} | |||||
@Override | |||||
public void onTimeout(){} | |||||
@Override | |||||
public void onLivenessResult(int livenessState, int blinkState, int livenessType){} | |||||
@Override | |||||
public void onRetryClick() { | |||||
onBackPressed(); | |||||
} | |||||
@Override | |||||
public boolean onOptionsItemSelected(MenuItem menuItem) { | |||||
if (menuItem.getItemId() == android.R.id.home) { | |||||
if (getSupportFragmentManager().findFragmentByTag(SAVE_PHOTO_FRAGMENT) != null) { | |||||
getSupportFragmentManager().popBackStack(); | |||||
getSupportFragmentManager().popBackStack(); | |||||
return true; | |||||
} | |||||
} | |||||
return super.onOptionsItemSelected(menuItem); | |||||
} | |||||
@Override | |||||
public void onSaveClick() { | |||||
registerPerson(); | |||||
} | |||||
private void registerPerson() { | |||||
RegisterApiInterface registerApi; | |||||
try { | |||||
if (thread != null) { | |||||
thread.join(); | |||||
} | |||||
}catch (InterruptedException e){ | |||||
e.printStackTrace(); | |||||
} | |||||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||||
registerApi = new RegisterApiImplLocal(this, registrationModel, photoProcessor, this, bitmap); | |||||
} else { | |||||
registerApi = new RegisterApiImplLuna2(this, preferences.getLuna2Server(), registrationModel, api, locationHelper, this, bitmap, preferences.getEncodedUserData()); | |||||
} | |||||
registerApi.registerPerson(); | |||||
} | |||||
private void SaveBitmapToGallery(Bitmap finalBitmap) { | |||||
String root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString(); | |||||
File myDir = new File(root + "/saved_images"); | |||||
myDir.mkdirs(); | |||||
File file = null; | |||||
int num = 0; | |||||
// find next name | |||||
do { | |||||
try { | |||||
file = new File (myDir, new String(SAVE_PHOTO_NAME + num + ".jpg")); | |||||
} catch (Exception e) { | |||||
e.printStackTrace(); | |||||
break; | |||||
} | |||||
++num; | |||||
} | |||||
while(file.exists()); | |||||
try { | |||||
FileOutputStream out = new FileOutputStream(file); | |||||
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 50, out); | |||||
out.flush(); | |||||
out.close(); | |||||
} catch (Exception e) { | |||||
e.printStackTrace(); | |||||
} | |||||
// Tell the media scanner about the new file so that it is | |||||
// immediately available to the user. | |||||
MediaScannerConnection.scanFile(this, new String[] { file.toString() }, null, | |||||
new MediaScannerConnection.OnScanCompletedListener() { | |||||
public void onScanCompleted(String path, Uri uri) { | |||||
Log.i("ExternalStorage", "Scanned " + path + ":"); | |||||
Log.i("ExternalStorage", "-> uri=" + uri); | |||||
} | |||||
}); | |||||
System.out.println("Inside saving image method"); | |||||
} | |||||
@Override | |||||
public void onRegistrationFail(Throwable throwable) { | |||||
if(throwable instanceof RegisterApiImplLuna2.InternetConnectionException){ | |||||
Toast.makeText(this,getResources().getString(R.string.bad_internet_conneciton), Toast.LENGTH_LONG).show(); | |||||
}else if(throwable instanceof RegisterApiImplLuna2.SocketTimeOutException || | |||||
throwable instanceof SocketException) { | |||||
Toast.makeText(this,getResources().getString(R.string.TimeOut), Toast.LENGTH_LONG).show(); | |||||
}else if(throwable instanceof RegisterApiImplLuna2.WrongAccDataException){ | |||||
Toast.makeText(this,getResources().getString(R.string.bad_acc_data), Toast.LENGTH_LONG).show(); | |||||
}else if(throwable instanceof RegisterApiImplLuna2.WrongServAddrException || | |||||
throwable instanceof IllegalArgumentException){ | |||||
Toast.makeText(this,getResources().getString(R.string.bad_server_address), Toast.LENGTH_LONG).show(); | |||||
}else if(throwable instanceof retrofit2.adapter.rxjava.HttpException ){ | |||||
Toast.makeText(this,throwable.getMessage(), Toast.LENGTH_LONG).show(); | |||||
} | |||||
else if(throwable instanceof RegisterApiImplLocal.DescriptorNotExtractedException) { | |||||
Toast.makeText(this,throwable.getMessage(), Toast.LENGTH_LONG).show(); | |||||
} | |||||
if(preferences.getLuna2()){ | |||||
Storage.getInstance().clearConnectionFlags(); | |||||
} | |||||
if (getSupportFragmentManager().findFragmentByTag(SAVE_PHOTO_FRAGMENT) != null) { | |||||
getSupportFragmentManager().popBackStack(); | |||||
getSupportFragmentManager().popBackStack(); | |||||
} | |||||
} | |||||
@Override | |||||
public void onRegistrationSuccess() { | |||||
preferences.setServerChanged(false); | |||||
if (preferences.getSavePhoto()) { | |||||
RxPermissions.getInstance(this) | |||||
.request(Manifest.permission.WRITE_EXTERNAL_STORAGE) | |||||
.subscribe(granted -> { | |||||
if (granted) { | |||||
SaveBitmapToGallery(bitmap); | |||||
Toast.makeText(this, R.string.photo_saved_to_gallery, Toast.LENGTH_SHORT).show(); | |||||
} else { | |||||
Toast.makeText(this, R.string.permission_need_for_write_external, Toast.LENGTH_SHORT).show(); | |||||
} | |||||
// finish on any case | |||||
finishRegistration(); | |||||
}); | |||||
} | |||||
else | |||||
{ | |||||
finishRegistration(); | |||||
} | |||||
} | |||||
private void finishRegistration() | |||||
{ | |||||
preferences.setUsername(registrationModel.login); | |||||
// preferences.setPin(registrationModel.password); | |||||
Intent intent = new Intent(RegisterFromCheckActivity.this, LoginActivityNew.class); | |||||
startActivity(intent); | |||||
finish(); | |||||
} | |||||
@Override | |||||
public void onVerificationSuccess(SearchResult searchResult) { | |||||
verifEndTime = System.nanoTime(); | |||||
preferences.setServerChanged(false); | |||||
final List<SearchResultPerson> persons = searchResult.getPersons(); | |||||
if (persons != null && !persons.isEmpty()) { | |||||
final SearchResultPerson person = persons.get(0); | |||||
if (person.similarity > Config.MIN_SIMILARITY) { | |||||
onFaceAuthSuccess(); | |||||
} else { | |||||
onFaceAuthFail(AuthenticationActivity.AuthFailReason.SIMILARITY); | |||||
} | |||||
} else { | |||||
onFaceAuthFail(AuthenticationActivity.AuthFailReason.SIMILARITY); | |||||
} | |||||
} | |||||
@Override | |||||
public void onVerificationFail(Throwable throwable) { | |||||
} | |||||
private void onFaceAuthSuccess() { | |||||
showSuccess(); | |||||
/*if (preferences.getFingerAuth()) { | |||||
onFingerClick(finger); | |||||
} else { | |||||
showSuccess(); | |||||
}*/ | |||||
} | |||||
private void showSuccess() { | |||||
final Intent intent = new Intent(RegisterFromCheckActivity.this, CheckInActivity.class); | |||||
intent.putExtra(AuthSuccessActivity.LOGIN, login); | |||||
intent.putExtra("FromRegisterCheck", true); | |||||
if (BuildConfig.IS_OFFLINE_VERSION) { | |||||
intent.putExtra(AuthSuccessActivity.TIME, (int) (((double) (verifEndTime - verifStartTime)) / 1e6)); | |||||
} | |||||
startActivity(intent); | |||||
finish(); | |||||
} | |||||
private void onFaceAuthFail(AuthenticationActivity.AuthFailReason reason) { | |||||
if (faceFailCount < 4) { | |||||
final FaceNotRecognizedFragment fragment = FaceNotRecognizedFragment.newInstance(); | |||||
fragment.setListener(this); | |||||
if (reason == AuthenticationActivity.AuthFailReason.SIMILARITY && BuildConfig.IS_OFFLINE_VERSION) | |||||
{ | |||||
fragment.setVerificationTime((int)((double)(verifEndTime - verifStartTime) / 1e6)); | |||||
} | |||||
fragment.setFailReason(reason); | |||||
showFragment(fragment); | |||||
} else { | |||||
showFail(); | |||||
} | |||||
} | |||||
private void showFail() { | |||||
Toast.makeText(this, R.string.access_denied, Toast.LENGTH_SHORT).show(); | |||||
finish(); | |||||
} | |||||
private void showFragment(Fragment fragment) { | |||||
final FragmentManager fragmentManager = getSupportFragmentManager(); | |||||
if (fragmentManager.findFragmentByTag(fragment.toString()) == null) { | |||||
if (!goingSomewhere) { | |||||
goingSomewhere = true; | |||||
fragmentManager | |||||
.beginTransaction() | |||||
.replace(R.id.container, fragment, fragment.toString()) | |||||
.commit(); | |||||
goingSomewhere = false; | |||||
} | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,203 @@ | |||||
package ru.visionlab.femdemo; | |||||
import androidx.appcompat.app.AppCompatActivity; | |||||
import android.app.DatePickerDialog; | |||||
import android.app.ProgressDialog; | |||||
import android.content.Intent; | |||||
import android.os.Bundle; | |||||
import android.view.View; | |||||
import android.widget.Button; | |||||
import android.widget.DatePicker; | |||||
import android.widget.ImageButton; | |||||
import android.widget.LinearLayout; | |||||
import android.widget.TextView; | |||||
import android.widget.Toast; | |||||
import com.android.volley.Request; | |||||
import com.android.volley.VolleyError; | |||||
import com.android.volley.toolbox.StringRequest; | |||||
import com.android.volley.toolbox.Volley; | |||||
import org.json.JSONArray; | |||||
import org.json.JSONException; | |||||
import org.json.JSONObject; | |||||
import java.util.Calendar; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
public class ReportActivity extends AppCompatActivity { | |||||
Button btnReport; | |||||
ImageButton back; | |||||
LinearLayout fromDate,toDate; | |||||
TextView textFromDate,textToDate; | |||||
int yearFrom,monthOfYearFrom,dayOfmonthFrom; | |||||
int yearTo,monthOfYearTo,dayOfmonthTo; | |||||
String valuefromApi=""; | |||||
String passingDateFrom,passingDateTo; | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
setContentView(R.layout.activity_report); | |||||
btnReport = findViewById(R.id.btnReport); | |||||
btnReport.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
Intent intent = new Intent(ReportActivity.this, ReportDetailsActivity.class); | |||||
intent.putExtra("passingDateFrom",passingDateFrom); | |||||
intent.putExtra("passingDateTo",passingDateTo); | |||||
startActivity(intent); | |||||
//getReport(); | |||||
} | |||||
}); | |||||
back = findViewById(R.id.back); | |||||
back.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
/*Intent intent = new Intent(ReportActivity.this, CheckInActivity.class); | |||||
intent.putExtra("backToCheck",true); | |||||
startActivity(intent);*/ | |||||
onBackPressed(); | |||||
} | |||||
}); | |||||
fromDate = findViewById(R.id.fromDate); | |||||
textFromDate = findViewById(R.id.textFromDate); | |||||
fromDate.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
final Calendar c = Calendar.getInstance(); | |||||
int year = c.get(Calendar.YEAR); | |||||
int month = c.get(Calendar.MONTH); | |||||
int day = c.get(Calendar.DAY_OF_MONTH); | |||||
DatePickerDialog datePickerDialog = new DatePickerDialog( | |||||
// on below line we are passing context. | |||||
ReportActivity.this, | |||||
new DatePickerDialog.OnDateSetListener() { | |||||
@Override | |||||
public void onDateSet(DatePicker view, int year, | |||||
int monthOfYear, int dayOfMonth) { | |||||
// on below line we are setting date to our text view. | |||||
textFromDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||||
yearFrom = year; | |||||
dayOfmonthFrom = dayOfMonth; | |||||
monthOfYearFrom = monthOfYear; | |||||
System.out.println("Date from values: " + dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom); | |||||
passingDateFrom = dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom; | |||||
System.out.println("passingDateFrom " + passingDateFrom); | |||||
} | |||||
}, | |||||
// on below line we are passing year, | |||||
// month and day for selected date in our date picker. | |||||
year, month, day); | |||||
// at last we are calling show to | |||||
// display our date picker dialog. | |||||
datePickerDialog.show(); | |||||
} | |||||
}); | |||||
toDate = findViewById(R.id.toDate); | |||||
textToDate = findViewById(R.id.textToDate); | |||||
toDate.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
final Calendar c = Calendar.getInstance(); | |||||
int year = c.get(Calendar.YEAR); | |||||
int month = c.get(Calendar.MONTH); | |||||
int day = c.get(Calendar.DAY_OF_MONTH); | |||||
DatePickerDialog datePickerDialog = new DatePickerDialog( | |||||
// on below line we are passing context. | |||||
ReportActivity.this, | |||||
new DatePickerDialog.OnDateSetListener() { | |||||
@Override | |||||
public void onDateSet(DatePicker view, int year, | |||||
int monthOfYear, int dayOfMonth) { | |||||
// on below line we are setting date to our text view. | |||||
textToDate.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year); | |||||
yearTo = year; | |||||
dayOfmonthTo = dayOfMonth; | |||||
monthOfYearTo = monthOfYear; | |||||
System.out.println("Date from values: " + dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo); | |||||
passingDateTo = dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo; | |||||
System.out.println("passingDateTo " + passingDateTo); | |||||
} | |||||
}, | |||||
// on below line we are passing year, | |||||
// month and day for selected date in our date picker. | |||||
year, month, day); | |||||
// at last we are calling show to | |||||
// display our date picker dialog. | |||||
datePickerDialog.show(); | |||||
} | |||||
}); | |||||
} | |||||
public void getReport(){ | |||||
final ProgressDialog loading = ProgressDialog.show(ReportActivity.this, "Authenticating", "Please wait ", false, false); | |||||
//String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport"; | |||||
//String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+"06/06/2023"+"&todate="+"06/07/2023"; | |||||
String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+dayOfmonthFrom + "/" + (monthOfYearFrom + 1) + "/" + yearFrom+"&todate="+dayOfmonthTo + "/" + (monthOfYearTo + 1) + "/" + yearTo; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONObject jsonObject=new JSONObject(response); | |||||
JSONObject jb1=jsonObject.getJSONObject("statusModel"); | |||||
valuefromApi = jb1.getString("_statusMessage"); | |||||
System.out.println("Report status from api " + valuefromApi); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
Toast.makeText(ReportActivity.this, valuefromApi, Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(ReportActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
@Override | |||||
protected Map<String, String> getParams() { | |||||
Map<String, String> params = new HashMap<String, String>(); | |||||
/*params.put("employeeid", "101"); | |||||
params.put("fromdate", "06/06/2023"); | |||||
params.put("todate", "06/07/2023");*/ | |||||
return params; | |||||
} | |||||
}; | |||||
Volley.newRequestQueue(ReportActivity.this).add(stringRequest); | |||||
} | |||||
} |
@ -0,0 +1,122 @@ | |||||
package ru.visionlab.femdemo; | |||||
import androidx.appcompat.app.AppCompatActivity; | |||||
import android.app.ProgressDialog; | |||||
import android.content.Intent; | |||||
import android.os.Bundle; | |||||
import android.view.View; | |||||
import android.widget.ImageButton; | |||||
import android.widget.ImageView; | |||||
import android.widget.TextView; | |||||
import android.widget.Toast; | |||||
import com.android.volley.Request; | |||||
import com.android.volley.VolleyError; | |||||
import com.android.volley.toolbox.StringRequest; | |||||
import com.android.volley.toolbox.Volley; | |||||
import org.json.JSONArray; | |||||
import org.json.JSONException; | |||||
import org.json.JSONObject; | |||||
import java.util.HashMap; | |||||
import java.util.Map; | |||||
public class ReportDetailsActivity extends AppCompatActivity { | |||||
String passingDateFrom,passingDateTo; | |||||
TextView empIdVal,pdateVal,Check_InVal,Check_OutVal,statusVal; | |||||
ImageView back; | |||||
@Override | |||||
protected void onCreate(Bundle savedInstanceState) { | |||||
super.onCreate(savedInstanceState); | |||||
setContentView(R.layout.activity_report_details); | |||||
empIdVal = findViewById(R.id.empIdVal); | |||||
pdateVal = findViewById(R.id.pdateVal); | |||||
Check_InVal = findViewById(R.id.Check_InVal); | |||||
Check_OutVal = findViewById(R.id.Check_OutVal); | |||||
statusVal = findViewById(R.id.statusVal); | |||||
back = findViewById(R.id.back); | |||||
back.setOnClickListener(new View.OnClickListener() { | |||||
@Override | |||||
public void onClick(View view) { | |||||
Intent intent = new Intent(ReportDetailsActivity.this, ReportActivity.class); | |||||
startActivity(intent); | |||||
} | |||||
}); | |||||
Intent intent = getIntent(); | |||||
passingDateFrom = intent.getStringExtra("passingDateFrom"); | |||||
passingDateTo = intent.getStringExtra("passingDateTo"); | |||||
System.out.println("passingDateFrom " + passingDateFrom + " " + passingDateTo); | |||||
getReport(); | |||||
} | |||||
public void getReport(){ | |||||
final ProgressDialog loading = ProgressDialog.show(ReportDetailsActivity.this, "Authenticating", "Please wait ", false, false); | |||||
String url= "http://43.242.212.92:7001/api/lgt/AttendanceReport?employeeid="+"101"+"&fromdate="+passingDateFrom+"&todate="+passingDateTo; | |||||
StringRequest stringRequest=new StringRequest(Request.Method.GET, url, new com.android.volley.Response.Listener<String>() { | |||||
@Override | |||||
public void onResponse(String response) { | |||||
try { | |||||
JSONObject jsonObject=new JSONObject(response); | |||||
JSONArray jsonArray=jsonObject.getJSONArray("_lstAttendanceData"); | |||||
JSONObject jb1=jsonArray.getJSONObject(0); | |||||
String EmployeeID = jb1.getString("EmployeeID"); | |||||
String pdate = jb1.getString("pdate"); | |||||
String Check_In = jb1.getString("Check_In"); | |||||
String Check_Out = jb1.getString("Check_Out"); | |||||
String status = jb1.getString("status"); | |||||
empIdVal.setText(EmployeeID); | |||||
pdateVal.setText(pdate); | |||||
Check_InVal.setText(Check_In); | |||||
Check_OutVal.setText(Check_Out); | |||||
statusVal.setText(status); | |||||
System.out.println("data from api " + EmployeeID + " " + pdate+" "+Check_In+" "+Check_Out+" "+status); | |||||
} catch (JSONException e) { | |||||
throw new RuntimeException(e); | |||||
} | |||||
Toast.makeText(ReportDetailsActivity.this, "Successfull" , Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
} | |||||
}, new com.android.volley.Response.ErrorListener() { | |||||
@Override | |||||
public void onErrorResponse(VolleyError error) { | |||||
// Log.d("error-=>",error.getMessage()); | |||||
Toast.makeText(ReportDetailsActivity.this, "Failed to get response = " + error.getMessage(), Toast.LENGTH_SHORT).show(); | |||||
loading.dismiss(); | |||||
System.out.println("Error message: "+ error.getMessage()); | |||||
} | |||||
}) | |||||
{ | |||||
@Override | |||||
protected Map<String, String> getParams() { | |||||
Map<String, String> params = new HashMap<String, String>(); | |||||
/*params.put("employeeid", "101"); | |||||
params.put("fromdate", "06/06/2023"); | |||||
params.put("todate", "06/07/2023");*/ | |||||
return params; | |||||
} | |||||
}; | |||||
Volley.newRequestQueue(ReportDetailsActivity.this).add(stringRequest); | |||||
} | |||||
} |
@ -0,0 +1,7 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" | |||||
android:shape="rectangle"> | |||||
<corners android:radius="10dp" /> | |||||
<solid android:color="#F1F1F1"/> | |||||
</shape> |
@ -0,0 +1,7 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" | |||||
android:shape="rectangle"> | |||||
<corners android:radius="10dp" /> | |||||
<solid android:color="#D75757"/> | |||||
</shape> |
@ -0,0 +1,11 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<selector | |||||
xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<item> | |||||
<shape> | |||||
<solid android:color="#ff3232"/> | |||||
<corners android:radius="10dp" /> | |||||
</shape> | |||||
</item> | |||||
</selector> |
@ -0,0 +1,6 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> | |||||
<corners android:radius="20dp"/> | |||||
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> | |||||
<stroke android:width="1dp" android:color="#3D529E"/> | |||||
</shape> |
@ -0,0 +1,6 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> | |||||
<corners android:radius="10dp"/> | |||||
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/> | |||||
<stroke android:width="1dp" android:color="#E1E1E1"/> | |||||
</shape> |
@ -0,0 +1,5 @@ | |||||
<vector android:height="24dp" android:tint="#0E0F11" | |||||
android:viewportHeight="24" android:viewportWidth="24" | |||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<path android:fillColor="@android:color/white" android:pathData="M20,3h-1L19,1h-2v2L7,3L7,1L5,1v2L4,3c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,5c0,-1.1 -0.9,-2 -2,-2zM20,21L4,21L4,8h16v13z"/> | |||||
</vector> |
@ -0,0 +1,7 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<item android:right="8dp" | |||||
android:gravity="left|center_vertical"> | |||||
</item> | |||||
</layer-list> |
@ -0,0 +1,5 @@ | |||||
<vector android:height="24dp" android:tint="#0E0F11" | |||||
android:viewportHeight="24" android:viewportWidth="24" | |||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<path android:fillColor="@android:color/white" android:pathData="M3,18h13v-2L3,16v2zM3,13h10v-2L3,11v2zM3,6v2h13L16,6L3,6zM21,15.59L17.42,12 21,8.41 19.59,7l-5,5 5,5L21,15.59z"/> | |||||
</vector> |
@ -0,0 +1,18 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<!-- Background --> | |||||
<item android:drawable="@android:color/transparent" /> | |||||
<!-- Border --> | |||||
<item> | |||||
<shape | |||||
android:shape="rectangle"> | |||||
<stroke | |||||
android:color="#3D529E" | |||||
android:width="1dp" /> <!-- Border width --> | |||||
<corners | |||||
android:radius="15dp" /> <!-- Rounded corners, if desired --> | |||||
</shape> | |||||
</item> | |||||
</layer-list> |
@ -0,0 +1,6 @@ | |||||
<vector android:height="24dp" android:tint="#0E0F11" | |||||
android:viewportHeight="24" android:viewportWidth="24" | |||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |||||
<path android:fillColor="@android:color/white" android:pathData="M11.99,2C6.47,2 2,6.48 2,12s4.47,10 9.99,10C17.52,22 22,17.52 22,12S17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/> | |||||
<path android:fillColor="@android:color/white" android:pathData="M12.5,7H11v6l5.25,3.15 0.75,-1.23 -4.5,-2.67z"/> | |||||
</vector> |
@ -0,0 +1,393 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<LinearLayout | |||||
xmlns:android="http://schemas.android.com/apk/res/android" | |||||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
xmlns:tools="http://schemas.android.com/tools" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent" | |||||
tools:context=".ApprovalListActivity" | |||||
android:orientation="vertical" | |||||
android:padding="23dp" | |||||
> | |||||
<LinearLayout | |||||
android:id="@+id/lin1" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal"> | |||||
<ImageButton | |||||
android:id="@+id/back" | |||||
android:layout_width="14dp" | |||||
android:layout_height="20dp" | |||||
android:src="@drawable/ic_baseline_arrow_back_24" | |||||
android:background="@color/white" | |||||
android:contentDescription="Back"/> | |||||
<TextView | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:text="Approval list" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center_horizontal" | |||||
android:layout_marginLeft="110dp" | |||||
/> | |||||
</LinearLayout> | |||||
<ScrollView | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent"> | |||||
<RelativeLayout | |||||
android:id="@+id/rl" | |||||
android:layout_marginTop="35dp" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:id="@+id/rel1" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/empId" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="RequestID :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/RequestIDVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/empId" | |||||
android:gravity="center_horizontal" | |||||
android:text="RequestID" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel2" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel1"> | |||||
<TextView | |||||
android:id="@+id/EmployeeID" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="EmployeeID :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/EmployeeIDVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/EmployeeID" | |||||
android:gravity="center_horizontal" | |||||
android:text="EmployeeID" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel3" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel2"> | |||||
<TextView | |||||
android:id="@+id/EmployeeName" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="EmployeeName :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/EmployeeNameVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/EmployeeName" | |||||
android:gravity="center_horizontal" | |||||
android:text="EmployeeName" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel4" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel3"> | |||||
<TextView | |||||
android:id="@+id/LDate" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="LDate :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/LDateVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/LDate" | |||||
android:gravity="center_horizontal" | |||||
android:text="LDate" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel5" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel4"> | |||||
<TextView | |||||
android:id="@+id/LTimeOut" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="LTimeOut :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/LTimeOutVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/LTimeOut" | |||||
android:gravity="center_horizontal" | |||||
android:text="LTimeOut" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel6" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel5"> | |||||
<TextView | |||||
android:id="@+id/LTimeIn" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="LTimeOut :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/LTimeInVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/LTimeIn" | |||||
android:gravity="center_horizontal" | |||||
android:text="LTimeIn" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel7" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel6"> | |||||
<TextView | |||||
android:id="@+id/NoOfHrs" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="NoOfHrs :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/NoOfHrsVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/NoOfHrs" | |||||
android:gravity="center_horizontal" | |||||
android:text="NoOfHrs" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel8" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel7"> | |||||
<TextView | |||||
android:id="@+id/LeaveType" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="LeaveType :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/LeaveTypeVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/LeaveType" | |||||
android:gravity="center_horizontal" | |||||
android:text="LeaveType" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel9" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel8"> | |||||
<TextView | |||||
android:id="@+id/ApproverID" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="ApproverID :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/ApproverIDVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/ApproverID" | |||||
android:gravity="center_horizontal" | |||||
android:text="ApproverID" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel10" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel9"> | |||||
<TextView | |||||
android:id="@+id/ApproverName" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="ApproverName :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/ApproverNameVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/ApproverName" | |||||
android:gravity="center_horizontal" | |||||
android:text="ApproverName" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rel11" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp" | |||||
android:layout_below="@id/rel10"> | |||||
<TextView | |||||
android:id="@+id/Reason" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Reason :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/ReasonVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/Reason" | |||||
android:gravity="center_horizontal" | |||||
android:text="Reason" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
</ScrollView> | |||||
</LinearLayout> |
@ -0,0 +1,41 @@ | |||||
<?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: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> | |||||
<ListView | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent" | |||||
android:id="@+id/listview" | |||||
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,212 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<LinearLayout | |||||
xmlns:android="http://schemas.android.com/apk/res/android" | |||||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
xmlns:tools="http://schemas.android.com/tools" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent" | |||||
tools:context=".LeaveRequestDetailsActivity" | |||||
android:orientation="vertical" | |||||
android:padding="23dp"> | |||||
<LinearLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal"> | |||||
<ImageButton | |||||
android:id="@+id/back" | |||||
android:layout_width="14dp" | |||||
android:layout_height="20dp" | |||||
android:src="@drawable/ic_baseline_arrow_back_24" | |||||
android:background="@color/white" | |||||
android:contentDescription="Back"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Leave requests" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center_horizontal" | |||||
android:layout_marginLeft="110dp" | |||||
/> | |||||
</LinearLayout> | |||||
<LinearLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:background="@drawable/bg_linear_grey" | |||||
android:orientation="vertical" | |||||
android:layout_marginTop="10dp"> | |||||
<LinearLayout | |||||
android:id="@+id/lin1" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal" | |||||
android:layout_marginTop="10dp"> | |||||
<ImageView | |||||
android:id="@+id/menu" | |||||
android:layout_width="60dp" | |||||
android:layout_height="60dp" | |||||
android:layout_alignParentLeft="true" | |||||
android:layout_centerInParent="true" | |||||
android:background="@drawable/andrew" /> | |||||
<LinearLayout | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:layout_marginLeft="10dp" | |||||
android:orientation="vertical"> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Madelyn Lubin" | |||||
android:textStyle="bold" | |||||
android:textColor="#000000"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Tue, 22 - Thu, 24 Feb 2023" | |||||
android:textStyle="normal" | |||||
android:textColor="#5F5F5F"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Casual Leave" | |||||
android:textStyle="bold" | |||||
android:textColor="#3553BB"/> | |||||
</LinearLayout> | |||||
<LinearLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="vertical" | |||||
android:layout_marginLeft="15dp"> | |||||
<TextView | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:text="03" | |||||
android:textSize="26sp" | |||||
android:textStyle="bold" | |||||
android:textColor="#000000" | |||||
android:gravity="center_horizontal" | |||||
/> | |||||
<TextView | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:text="Days" | |||||
android:textSize="26sp" | |||||
android:textStyle="normal" | |||||
android:textColor="#000000" | |||||
android:gravity="center_horizontal" | |||||
/> | |||||
</LinearLayout> | |||||
</LinearLayout> | |||||
<Button | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:background="@drawable/bg_btn_with_stroke_grey" | |||||
android:text="Casual Leave" | |||||
android:textAlignment="viewStart" | |||||
android:textColor="#3553BB" | |||||
android:padding="5dp" | |||||
android:layout_marginTop="10dp"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Total Leave this year" | |||||
android:textColor="#A1A1A1" | |||||
android:layout_marginTop="30dp"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="23 days" | |||||
android:textColor="#434343" | |||||
android:layout_marginTop="8dp" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Substitute" | |||||
android:textColor="#A1A1A1" | |||||
android:layout_marginTop="30dp"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Richard Wilson" | |||||
android:textColor="#434343" | |||||
android:layout_marginTop="8dp" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Approver" | |||||
android:textColor="#A1A1A1" | |||||
android:layout_marginTop="30dp"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Michael Adams" | |||||
android:textColor="#434343" | |||||
android:layout_marginTop="8dp" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="HR Contact" | |||||
android:textColor="#A1A1A1" | |||||
android:layout_marginTop="30dp"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="HR Contact" | |||||
android:textColor="#434343" | |||||
android:layout_marginTop="8dp" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold"/> | |||||
</LinearLayout> | |||||
<Button | |||||
android:id="@+id/btnapprove" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:background="@drawable/bg_btn_with_stroke" | |||||
android:layout_marginTop="60dp" | |||||
android:text="Approve" | |||||
android:textColor="@color/white"/> | |||||
<Button | |||||
android:id="@+id/btnreject" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:background="@drawable/bg_btn_with_stroke_red" | |||||
android:layout_marginTop="20dp" | |||||
android:text="Reject" | |||||
android:textColor="@color/white"/> | |||||
</LinearLayout> |
@ -0,0 +1,310 @@ | |||||
<?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: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: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> | |||||
<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: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/timePickerFrom" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal" | |||||
android:background="@drawable/bg_button_time" | |||||
android:layout_marginTop="25dp" | |||||
android:layout_marginLeft="14dp" | |||||
android:layout_marginRight="14dp" | |||||
> | |||||
<ImageView | |||||
android:layout_width="25dp" | |||||
android:layout_height="25dp" | |||||
android:src="@drawable/calender"/> | |||||
<TextView | |||||
android:id="@+id/textTimeFrom" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Time from" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center" | |||||
android:paddingLeft="100dp" | |||||
android:textSize="17sp" | |||||
android:textStyle="bold" | |||||
/> | |||||
</LinearLayout> | |||||
<LinearLayout | |||||
android:id="@+id/timePickerTo" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal" | |||||
android:background="@drawable/bg_button_time" | |||||
android:layout_marginTop="30dp" | |||||
android:layout_marginLeft="14dp" | |||||
android:layout_marginRight="14dp" | |||||
> | |||||
<ImageView | |||||
android:layout_width="25dp" | |||||
android:layout_height="25dp" | |||||
android:src="@drawable/calender"/> | |||||
<TextView | |||||
android:id="@+id/textTimeTo" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Time to" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center" | |||||
android:paddingLeft="110dp" | |||||
android:textSize="17sp" | |||||
android:textStyle="bold" | |||||
/> | |||||
</LinearLayout> | |||||
<EditText | |||||
android:id="@+id/edtRemarks" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="80dp" | |||||
android: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,123 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<LinearLayout | |||||
xmlns:android="http://schemas.android.com/apk/res/android" | |||||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
xmlns:tools="http://schemas.android.com/tools" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent" | |||||
tools:context=".ReportActivity" | |||||
android:orientation="vertical" | |||||
android:padding="23dp"> | |||||
<LinearLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal"> | |||||
<ImageButton | |||||
android:id="@+id/back" | |||||
android:layout_width="14dp" | |||||
android:layout_height="20dp" | |||||
android:src="@drawable/ic_baseline_arrow_back_24" | |||||
android:background="@color/white" | |||||
android:contentDescription="Back"/> | |||||
<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Attendance Reports" | |||||
android:textSize="18sp" | |||||
android:textStyle="bold" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center_horizontal" | |||||
android:layout_marginLeft="100dp" | |||||
/> | |||||
</LinearLayout> | |||||
<!--<TextView | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Reports" | |||||
android:textSize="30sp" | |||||
android:textStyle="bold" | |||||
android:textColor="#3D529E" | |||||
android:layout_gravity="center_horizontal" | |||||
android:layout_marginTop="60dp"/>--> | |||||
<LinearLayout | |||||
android:id="@+id/fromDate" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal" | |||||
android:background="@drawable/bg_button_time" | |||||
android:layout_marginTop="60dp" | |||||
android:layout_marginLeft="14dp" | |||||
android:layout_marginRight="14dp" | |||||
> | |||||
<ImageView | |||||
android:layout_width="20dp" | |||||
android:layout_height="20dp" | |||||
android:src="@drawable/calender"/> | |||||
<TextView | |||||
android:id="@+id/textFromDate" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="From date" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center" | |||||
android:paddingLeft="100dp" | |||||
android:textSize="17sp" | |||||
android:textStyle="bold" | |||||
/> | |||||
</LinearLayout> | |||||
<LinearLayout | |||||
android:id="@+id/toDate" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:orientation="horizontal" | |||||
android:background="@drawable/bg_button_time" | |||||
android:layout_marginTop="30dp" | |||||
android:layout_marginLeft="14dp" | |||||
android:layout_marginRight="14dp" | |||||
> | |||||
<ImageView | |||||
android:layout_width="20dp" | |||||
android:layout_height="20dp" | |||||
android:src="@drawable/calender"/> | |||||
<TextView | |||||
android:id="@+id/textToDate" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="To date" | |||||
android:textColor="@color/black" | |||||
android:layout_gravity="center" | |||||
android:paddingLeft="110dp" | |||||
android:textSize="17sp" | |||||
android:textStyle="bold" | |||||
/> | |||||
</LinearLayout> | |||||
<Button | |||||
android:id="@+id/btnReport" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_marginLeft="14dp" | |||||
android:layout_marginRight="14dp" | |||||
android:layout_marginTop="70dp" | |||||
android:background="@drawable/bg_btn_with_stroke" | |||||
android:text="Submit" | |||||
android:textAllCaps="false" | |||||
android:textColor="@color/white" | |||||
/> | |||||
</LinearLayout> |
@ -0,0 +1,251 @@ | |||||
<?xml version="1.0" encoding="utf-8"?> | |||||
<RelativeLayout | |||||
xmlns:android="http://schemas.android.com/apk/res/android" | |||||
xmlns:app="http://schemas.android.com/apk/res-auto" | |||||
xmlns:tools="http://schemas.android.com/tools" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="match_parent" | |||||
tools:context=".ReportActivity" | |||||
> | |||||
<RelativeLayout | |||||
android:id="@+id/rl_1" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="60dp"> | |||||
<ImageView | |||||
android:id="@+id/back" | |||||
android:layout_width="30dp" | |||||
android:layout_height="30dp" | |||||
android:layout_centerVertical="true" | |||||
android:layout_marginLeft="10dp" | |||||
android:src="@drawable/ic_baseline_arrow_back_24" | |||||
android:backgroundTint="@color/white"></ImageView> | |||||
<TextView | |||||
android:id="@+id/txt_report" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:layout_centerInParent="true" | |||||
android:textStyle="bold" | |||||
android:textSize="15sp" | |||||
android:textColor="@color/black" | |||||
android:text="Report Details"></TextView> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rl2" | |||||
android:layout_marginTop="45dp" | |||||
android:layout_below="@id/rl_1" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/empId" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="EmployeeID :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/empIdVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/empId" | |||||
android:gravity="center_horizontal" | |||||
android:text="EmployeeID" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rl3" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_below="@id/rl2" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/pdate" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Pdate :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/pdateVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/pdate" | |||||
android:gravity="center_horizontal" | |||||
android:text="Pdate" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rl4" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_below="@id/rl3" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/Check_In" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Check In :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/Check_InVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/Check_In" | |||||
android:gravity="center_horizontal" | |||||
android:text="Check In" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rl5" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_below="@id/rl4" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/Check_Out" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Check Out :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/Check_OutVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/Check_Out" | |||||
android:gravity="center_horizontal" | |||||
android:text="Check Out" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
<RelativeLayout | |||||
android:id="@+id/rl6" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_below="@id/rl5" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content"> | |||||
<RelativeLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="30dp" | |||||
android:layout_marginStart="15dp" | |||||
android:layout_marginTop="15dp" | |||||
android:layout_marginEnd="15dp" | |||||
android:layout_marginBottom="15dp"> | |||||
<TextView | |||||
android:id="@+id/status" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:text="Status :" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="bold"></TextView> | |||||
<TextView | |||||
android:id="@+id/statusVal" | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_toRightOf="@id/status" | |||||
android:gravity="center_horizontal" | |||||
android:text="Status" | |||||
android:textColor="@color/black" | |||||
android:textSize="15sp" | |||||
android:textStyle="normal"></TextView> | |||||
</RelativeLayout> | |||||
</RelativeLayout> | |||||
</RelativeLayout> |
@ -0,0 +1,191 @@ | |||||
<?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: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> |