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:allowClearUserData="true"
android:usesCleartextTraffic="true"
android:hardwareAccelerated="true"
tools:targetApi="31">
<activity
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();
StorageManager.getInstance().clearHseTrainingModule();
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);
startActivity(intent);
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
});
}

View File

@ -37,7 +37,7 @@ public class InjuryFormFour extends AppCompatActivity {
@Override
public void onClick(View v) {
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);
startActivity(intent);
finish();

View File

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

View File

@ -212,6 +212,8 @@ public class InjuryFormThree extends AppCompatActivity implements EasyPermission
public void onClick(View v) {
if (isValidate()) {
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();
alertReportSubmit(InjuryFormThree.this);
}
@ -332,12 +334,12 @@ public class InjuryFormThree extends AppCompatActivity implements EasyPermission
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearInjuryRecordModule();
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);
startActivity(intent);
finish();
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);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
else {
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.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);
startActivity(intent);
finish();

View File

@ -175,7 +175,8 @@ public class ObservationOneActivity extends AppCompatActivity implements EasyPer
if (result.getResultCode() == RESULT_OK) {
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(
this,
@ -204,7 +205,8 @@ public class ObservationOneActivity extends AppCompatActivity implements EasyPer
);
}
else {
Uri contentUri = Uri.fromFile(new File((filePathAfter)));
//Uri contentUri = Uri.fromFile(new File((filePathAfter)));
Uri contentUri = Helper.correctImageRotationAndGetUri(this, filePathAfter);
uriToByteArrayAsync(
this,

View File

@ -179,12 +179,12 @@ public class ObservationTwoActivity extends AppCompatActivity {
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearObservationModule();
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);
startActivity(intent);
finish();
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();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
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);
startActivity(intent);
finish();
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();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
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);
startActivity(intent);
finish();
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();
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
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);
startActivity(intent);
finish();
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
});
}

View File

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

View File

@ -301,12 +301,12 @@ public class WeeklyFormOne extends AppCompatActivity implements EasyPermissions.
Toast.makeText(this, "Report Submitted Successfully", Toast.LENGTH_SHORT).show();
StorageManager.getInstance().clearReportActivityModule();
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);
startActivity(intent);
finish();
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.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.media.ExifInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.text.TextUtils;
import android.util.Log;
@ -12,6 +17,8 @@ import androidx.preference.PreferenceManager;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.io.File;
import java.io.FileOutputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
@ -150,4 +157,34 @@ public class Helper {
Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type
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. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>