NoPssDrm/app/src/main/java/com/psmreborn/nopsmdrm/pscertified/PlayStationCertified.java

53 lines
4.8 KiB
Java

package com.psmreborn.nopsmdrm.pscertified;
import android.content.Context;
import android.os.Build;
import java.util.Arrays;
import java.util.HashSet;
public class PlayStationCertified {
private static CertifiedDeviceList[] certifiedDevices = {
new CertifiedDeviceList("Sony", new CertifiedDeviceEntry[] {new CertifiedDeviceEntry("SO-02E"), new CertifiedDeviceEntry("C6602"), new CertifiedDeviceEntry("C6603"), new CertifiedDeviceEntry("C6616"), new CertifiedDeviceEntry("C6606"), new CertifiedDeviceEntry("SOL22"), new CertifiedDeviceEntry("C6502"), new CertifiedDeviceEntry("C6503"), new CertifiedDeviceEntry("C6506"), new CertifiedDeviceEntry("SGP321"), new CertifiedDeviceEntry("SGP312"), new CertifiedDeviceEntry("SGP311"), new CertifiedDeviceEntry("SGP341"), new CertifiedDeviceEntry("SO-03E"), new CertifiedDeviceEntry("SGP351"), new CertifiedDeviceEntry("SO-04E"), new CertifiedDeviceEntry("C5503"), new CertifiedDeviceEntry("C5502"), new CertifiedDeviceEntry("L36h"), new CertifiedDeviceEntry("L35h"), new CertifiedDeviceEntry("M36h"), new CertifiedDeviceEntry("C5303"), new CertifiedDeviceEntry("C5306"), new CertifiedDeviceEntry("C5302"), new CertifiedDeviceEntry("M35h"), new CertifiedDeviceEntry("M35c"), new CertifiedDeviceEntry("C2105"), new CertifiedDeviceEntry("C2104"), new CertifiedDeviceEntry("S36h"), new CertifiedDeviceEntry("C1904"), new CertifiedDeviceEntry("C1905"), new CertifiedDeviceEntry("C2004"), new CertifiedDeviceEntry("C2005"), new CertifiedDeviceEntry("SOL23"), new CertifiedDeviceEntry("C6903"), new CertifiedDeviceEntry("SO-01F"), new CertifiedDeviceEntry("C6906"), new CertifiedDeviceEntry("C6902"), new CertifiedDeviceEntry("C6916"), new CertifiedDeviceEntry("C6833"), new CertifiedDeviceEntry("C6806"), new CertifiedDeviceEntry("C6802"), new CertifiedDeviceEntry("SOL24"), new CertifiedDeviceEntry("SGP412"), new CertifiedDeviceEntry("SO-02F"), new CertifiedDeviceEntry("D5503"), new CertifiedDeviceEntry("SO-04F"), new CertifiedDeviceEntry("C6843"), new CertifiedDeviceEntry("XL39h"), new CertifiedDeviceEntry("M51w"), new CertifiedDeviceEntry("D5303"), new CertifiedDeviceEntry("D5322"), new CertifiedDeviceEntry("D5306"), new CertifiedDeviceEntry("D5316"), new CertifiedDeviceEntry("D5316N"), new CertifiedDeviceEntry("D2303"), new CertifiedDeviceEntry("D2306"), new CertifiedDeviceEntry("D2305"), new CertifiedDeviceEntry("D2302"), new CertifiedDeviceEntry("D2403"), new CertifiedDeviceEntry("D2406"), new CertifiedDeviceEntry("S50h"), new CertifiedDeviceEntry("D6502"), new CertifiedDeviceEntry("D6503"), new CertifiedDeviceEntry("SO-03F"), new CertifiedDeviceEntry("D6543"), new CertifiedDeviceEntry("SOL25"), new CertifiedDeviceEntry("D6563"), new CertifiedDeviceEntry("SGP541"), new CertifiedDeviceEntry("SGP521"), new CertifiedDeviceEntry("SO-05F"), new CertifiedDeviceEntry("SOT21"), new CertifiedDeviceEntry("SGP551"), new CertifiedDeviceEntry("SGP511"), new CertifiedDeviceEntry("SGP512"), new CertifiedDeviceEntry("D6542"), new CertifiedDeviceEntry("M35t"), new CertifiedDeviceEntry("M35ts"), new CertifiedDeviceEntry("SO-01C"), new CertifiedDeviceEntry("SO-02C"), new CertifiedDeviceEntry("SO-02D"), new CertifiedDeviceEntry("SO-03D"), new CertifiedDeviceEntry("IS12S"), new CertifiedDeviceEntry("LT26i") }), new CertifiedDeviceList("Sony Ericsson", new CertifiedDeviceEntry[] { new CertifiedDeviceEntry("R800i"), new CertifiedDeviceEntry("R800a"), new CertifiedDeviceEntry("R800x"), new CertifiedDeviceEntry("R800at") }),
new CertifiedDeviceList("HTC", new CertifiedDeviceEntry[] { new CertifiedDeviceEntry("primou", 15) }),
new CertifiedDeviceList("SHARP", new CertifiedDeviceEntry[] { new CertifiedDeviceEntry("SH09D", 15), new CertifiedDeviceEntry("SHI16", 15) , new CertifiedDeviceEntry("SBM106SH", 15) , new CertifiedDeviceEntry("SBM203SH", 16) }),
new CertifiedDeviceList("FUJITSU MOBILE COMMUNICATIONS LIMITED", new CertifiedDeviceEntry[] { new CertifiedDeviceEntry("F05E", 15) }),
};
private Context ctx;
public PlayStationCertified(Context context){
ctx = context;
}
private boolean isInDeviceList() {
String brand = Build.BRAND;
String manufacturer = Build.MANUFACTURER;
int osVer = Build.VERSION.SDK_INT;
for(int i = 0; i < certifiedDevices.length; i++){
if(certifiedDevices[i].checkDevice(manufacturer, brand, osVer)){
return true;
}
}
return false;
}
public boolean isPlaystationCertified() {
HashSet installedFrameworks = new HashSet(Arrays.asList(ctx.getPackageManager().getSystemSharedLibraryNames()));
if(installedFrameworks.contains("com.playstation.playstationcertified")){
return true;
}
else {
// check devList2 and additionalCertifiedDevList
return isInDeviceList();
}
}
}