[Samsung Galaxy S8 Themes, Apps, and Mods] IDan1109:
Hi [MENTION=4860033]Arnova8G2[/MENTION] so i looked deeper into this to understand what's going on and what's the difference between you version and miniuser and why yours isn't working on exynos correctly. It was said that this is a problem with COLOR_FILTER_ARRANGEMENT and that miniuser overrode him. I think the portrait mode directly correlated to this

public static AwbInfo m4462a(iic iic, gdq gdq) {
float[] fArr;
AwbInfo awbInfo = new AwbInfo();
awbInfo.setColor_temp(f5724c);
Key key = CaptureResult.COLOR_CORRECTION_GAINS;
RggbChannelVector rggbChannelVector = (RggbChannelVector) iic.mo2415a(key);
if (rggbChannelVector == null) {
String str = f5722a;
String name = key.getName();
bhz.m2363e(str, new StringBuilder(String.valueOf(name).length() + 27).append("getAwbGains - key ").append(name).append(" is null.").toString());
fArr = new float[4];
Arrays.fill(fArr, 1.0f);
} else {
float[] fArr2 = new float[4];
int[] a = cok.m4473a(((Integer) gdq.mo1968a(CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT)).intValue());
for (int i = 0; i < 4; i++) {
fArr2[i] = rggbChannelVector.getComponent(a[i]);
}
fArr = fArr2;
}
awbInfo.setGains(fArr);
ColorSpaceTransform colorSpaceTransform = (ColorSpaceTransform) iic.mo2415a(CaptureResult.COLOR_CORRECTION_TRANSFORM);
if (colorSpaceTransform == null) {
bhz.m2363e(f5722a, "getAwbRgb2Rgb: CaptureResult.COLOR_CORRECTION_TRANSFORM is null.");
fArr = new float[]{1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f};
} else {
fArr = cok.m4472a(colorSpaceTransform);
}
awbInfo.setRgb2rgb(fArr);
return awbInfo;
}

this is the code i found with jadx of your apk. I quoted to this in particular beacuse as people say it's the last one version is working for our device. This is the code of miniuser exactly where he overrode the COLOR_FILTER_ARRANGEMENT

public static AwbInfo m4464a(iic iic, gdq gdq) {
float[] fArr;
AwbInfo awbInfo = new AwbInfo();
awbInfo.setColor_temp(f5727c);
Key key = CaptureResult.COLOR_CORRECTION_GAINS;
RggbChannelVector rggbChannelVector = (RggbChannelVector) iic.mo2416a(key);
if (rggbChannelVector == null) {
String str = f5726a;
String name = key.getName();
bhz.m2351e(str, new StringBuilder(String.valueOf(name).length() + 27).append("getAwbGains - key ").append(name).append(" is null.").toString());
fArr = new float[4];
Arrays.fill(fArr, 1.0f);
} else if (rggbChannelVector.getComponent(0) != 0.0f) {
float[] fArr2 = new float[4];
int[] a = cok.m4461a(((Integer) gdq.mo1969a(CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT)).intValue());
[COLOR="Red"]if (sAWBMode != 1 || sWBRedMult == 0 || sWBGreen1Mult == 0 || sWBGreen2Mult == 0 || sWBBlueMult == 0) {[/COLOR]
for (int i = 0; i < 4; i++) {
fArr2[i] = rggbChannelVector.getComponent(a[i]);
}
} else {
[COLOR="red"] fArr2[0] = (rggbChannelVector.getComponent(a[0]) * ((float) sWBRedMult)) / 100.0f;
fArr2[1] = (rggbChannelVector.getComponent(a[1]) * ((float) sWBGreen1Mult)) / 100.0f;
fArr2[2] = (rggbChannelVector.getComponent(a[2]) * ((float) sWBGreen2Mult)) / 100.0f;
fArr2[3] = (rggbChannelVector.getComponent(a[3]) * ((float) sWBBlueMult)) / 100.0f;[/COLOR]
}
fArr = fArr2;
lastColorCorrGain = fArr;
} else {
fArr = lastColorCorrGain;
}
awbInfo.setGains(fArr);
bhz.m2349d(f5726a, String.format("Color correction gains: %f, %f, %f, %f", new Object[]{Float.valueOf(fArr[0]), Float.valueOf(fArr[1]), Float.valueOf(fArr[2]), Float.valueOf(fArr[3])}));
ColorSpaceTransform colorSpaceTransform = (ColorSpaceTransform) iic.mo2416a(CaptureResult.COLOR_CORRECTION_TRANSFORM);
if (colorSpaceTransform == null) {
bhz.m2351e(f5726a, "getAwbRgb2Rgb: CaptureResult.COLOR_CORRECTION_TRANSFORM is null.");
fArr = new float[]{1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f};
} else {
fArr = cok.m4460a(colorSpaceTransform);
}
awbInfo.setRgb2rgb(fArr);
bhz.m2349d(f5726a, String.format("Color correction transform: %f, %f, %f, %f, %f, %f, %f, %f, %f", new Object[]{Float.valueOf(fArr[0]), Float.valueOf(fArr[1]), Float.valueOf(fArr[2]), Float.valueOf(fArr[3]), Float.valueOf(fArr[4]), Float.valueOf(fArr[5]), Float.valueOf(fArr[6]), Float.valueOf(fArr[7]), Float.valueOf(fArr[8])}));
return awbInfo;
}

I pointed out what change from you code. Also there is the definition of the varibles at the starting point of the code

public static int sWBBlueMult;
public static int sWBGreen1Mult;
public static int sWBGreen2Mult;
public static int sWBRedMult;

and there is no other mention in any of the files.. Hope this helps