Test Live report submission

Resolve image rotate issue
master
saad.siddiq 2025-06-03 16:09:10 +05:00
parent b231c15c59
commit d5f0f38566
16 changed files with 58 additions and 15 deletions

View File

@ -32,6 +32,7 @@
android:theme="@style/Theme.HSEObservationsApp" android:theme="@style/Theme.HSEObservationsApp"
android:allowClearUserData="true" android:allowClearUserData="true"
android:usesCleartextTraffic="true" android:usesCleartextTraffic="true"
android:hardwareAccelerated="true"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".activities.ObservationForms.ObservationNearMissActivity" android:name=".activities.ObservationForms.ObservationNearMissActivity"

View File

@ -262,12 +262,12 @@ public class HseTwoActivity extends AppCompatActivity implements EasyPermissions
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearHseTrainingModule(); StorageManager.getInstance().clearHseTrainingModule();
Intent intent = new Intent(HseTwoActivity.this, DashboardActivity.class); Intent intent = new Intent(HseTwoActivity.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });
} }

View File

@ -37,7 +37,7 @@ public class InjuryFormFour extends AppCompatActivity {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
Intent intent = new Intent(InjuryFormFour.this, DashboardActivity.class); Intent intent = new Intent(InjuryFormFour.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();

View File

@ -110,10 +110,12 @@ public class InjuryFormOne extends AppCompatActivity {
layoutDailyWageInfo.setVisibility(View.GONE); layoutDailyWageInfo.setVisibility(View.GONE);
txtEmployeeHeading.setText("Employee ID Number *"); txtEmployeeHeading.setText("Employee ID Number *");
workerType = "Employee"; workerType = "Employee";
StorageManager.getInstance().getInjuryRecordModel().get(0).setWorkerType("Employee/Contractor-Worker");
} else if (checkedId == R.id.rb_dailyWage) { } else if (checkedId == R.id.rb_dailyWage) {
layoutEmployeeInfo.setVisibility(View.GONE); layoutEmployeeInfo.setVisibility(View.GONE);
layoutDailyWageInfo.setVisibility(View.VISIBLE); layoutDailyWageInfo.setVisibility(View.VISIBLE);
txtEmployeeHeading.setText("Visitor ID *"); txtEmployeeHeading.setText("Visitor ID *");
StorageManager.getInstance().getInjuryRecordModel().get(0).setWorkerType("DailyWageWorker");
workerType = "Visitor"; workerType = "Visitor";
} }
} }

View File

@ -212,6 +212,8 @@ public class InjuryFormThree extends AppCompatActivity implements EasyPermission
public void onClick(View v) { public void onClick(View v) {
if (isValidate()) { if (isValidate()) {
StorageManager.getInstance().getInjuryRecordModel().get(0).setPictures(PaperImageList); StorageManager.getInstance().getInjuryRecordModel().get(0).setPictures(PaperImageList);
Log.e("PaperImageList-size: ",""+PaperImageList.size());
Log.e("Storage-Size: ",""+StorageManager.getInstance().getInjuryRecordModel().get(0).getPictures().size());
// Toast.makeText(PermitTwoActivity.this,"Reported Submitted",Toast.LENGTH_SHORT).show(); // Toast.makeText(PermitTwoActivity.this,"Reported Submitted",Toast.LENGTH_SHORT).show();
alertReportSubmit(InjuryFormThree.this); alertReportSubmit(InjuryFormThree.this);
} }
@ -332,12 +334,12 @@ public class InjuryFormThree extends AppCompatActivity implements EasyPermission
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearInjuryRecordModule(); StorageManager.getInstance().clearInjuryRecordModule();
Intent intent = new Intent(InjuryFormThree.this, DashboardActivity.class); Intent intent = new Intent(InjuryFormThree.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });

View File

@ -94,8 +94,8 @@ public class LoginActivity extends AppCompatActivity {
Intent intent = new Intent(this, DashboardActivity.class); Intent intent = new Intent(this, DashboardActivity.class);
startActivity(intent); startActivity(intent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
else { else {
Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Login Failed", Toast.LENGTH_SHORT).show();

View File

@ -62,7 +62,7 @@ public class ObservationNearMissActivity extends AppCompatActivity {
}*/ }*/
Intent intent = new Intent(ObservationNearMissActivity.this, DashboardActivity.class); Intent intent = new Intent(ObservationNearMissActivity.this, DashboardActivity.class);
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();

View File

@ -175,7 +175,8 @@ public class ObservationOneActivity extends AppCompatActivity implements EasyPer
if (result.getResultCode() == RESULT_OK) { if (result.getResultCode() == RESULT_OK) {
if (imgType.equalsIgnoreCase("before")) { if (imgType.equalsIgnoreCase("before")) {
Uri contentUri = Uri.fromFile(new File((filePathBefore))); //Uri contentUri = Uri.fromFile(new File((filePathBefore)));
Uri contentUri = Helper.correctImageRotationAndGetUri(this, filePathBefore);
uriToByteArrayAsync( uriToByteArrayAsync(
this, this,
@ -204,7 +205,8 @@ public class ObservationOneActivity extends AppCompatActivity implements EasyPer
); );
} }
else { else {
Uri contentUri = Uri.fromFile(new File((filePathAfter))); //Uri contentUri = Uri.fromFile(new File((filePathAfter)));
Uri contentUri = Helper.correctImageRotationAndGetUri(this, filePathAfter);
uriToByteArrayAsync( uriToByteArrayAsync(
this, this,

View File

@ -179,12 +179,12 @@ public class ObservationTwoActivity extends AppCompatActivity {
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearObservationModule(); StorageManager.getInstance().clearObservationModule();
Intent intent = new Intent(ObservationTwoActivity.this, DashboardActivity.class); Intent intent = new Intent(ObservationTwoActivity.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });
} }

View File

@ -149,12 +149,10 @@ public class OtherHseActivity extends AppCompatActivity {
StorageManager.getInstance().clearOtherActivityModule(); StorageManager.getInstance().clearOtherActivityModule();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(OtherHseActivity.this, DashboardActivity.class); Intent intent = new Intent(OtherHseActivity.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });
} }

View File

@ -416,12 +416,12 @@ public class PermitTwoActivity extends AppCompatActivity implements EasyPermissi
StorageManager.getInstance().clearPermitToWorkModule(); StorageManager.getInstance().clearPermitToWorkModule();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(PermitTwoActivity.this, DashboardActivity.class); Intent intent = new Intent(PermitTwoActivity.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });

View File

@ -367,12 +367,12 @@ public class ProgressiveActivity extends AppCompatActivity implements EasyPermis
StorageManager.getInstance().clearProgressiveActivityModule(); StorageManager.getInstance().clearProgressiveActivityModule();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(ProgressiveActivity.this, DashboardActivity.class); Intent intent = new Intent(ProgressiveActivity.this, DashboardActivity.class);
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });
} }

View File

@ -43,13 +43,13 @@ public class SplashActivity extends AppCompatActivity {
if (isLoggedIn) { if (isLoggedIn) {
Intent myIntent = new Intent(SplashActivity.this, DashboardActivity.class); Intent myIntent = new Intent(SplashActivity.this, DashboardActivity.class);
startActivity(myIntent); startActivity(myIntent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} else { } else {
Intent myIntent = new Intent(SplashActivity.this, LoginActivity.class); Intent myIntent = new Intent(SplashActivity.this, LoginActivity.class);
startActivity(myIntent); startActivity(myIntent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
} }
}, TIMER); }, TIMER);

View File

@ -301,12 +301,12 @@ public class WeeklyFormOne extends AppCompatActivity implements EasyPermissions.
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearReportActivityModule(); StorageManager.getInstance().clearReportActivityModule();
Intent intent = new Intent(WeeklyFormOne.this, DashboardActivity.class); Intent intent = new Intent(WeeklyFormOne.this, DashboardActivity.class);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
finish(); finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left); overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
} }
}); });
} }

View File

@ -2,8 +2,13 @@ package com.utopiaindustries.hseobservationsapp.helper;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.media.ExifInterface;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.Uri;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
@ -12,6 +17,8 @@ import androidx.preference.PreferenceManager;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import java.io.File;
import java.io.FileOutputStream;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -150,4 +157,34 @@ public class Helper {
Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type
return gson.fromJson(json, type); // Convert JSON back to the list return gson.fromJson(json, type); // Convert JSON back to the list
} }
public static Uri correctImageRotationAndGetUri(Context context, String imagePath) {
try {
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
ExifInterface exif = new ExifInterface(imagePath);
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
Matrix matrix = new Matrix();
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90: matrix.postRotate(90); break;
case ExifInterface.ORIENTATION_ROTATE_180: matrix.postRotate(180); break;
case ExifInterface.ORIENTATION_ROTATE_270: matrix.postRotate(270); break;
}
Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
// Save to new file
File correctedFile = new File(context.getCacheDir(), "corrected_" + System.currentTimeMillis() + ".jpg");
FileOutputStream fos = new FileOutputStream(correctedFile);
rotatedBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
return Uri.fromFile(correctedFile);
} catch (Exception e) {
e.printStackTrace();
return Uri.fromFile(new File(imagePath)); // fallback
}
}
} }

View File

@ -15,6 +15,7 @@
<!-- Status bar color. --> <!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item>
</style> </style>