How to find out who the ROM provider is?

android

Solution

There is code in the Cyanogen-Updater project that has this functionality, although I think the rom information is provided by a prop file provided by the rom developer so i'm not sure if it will work universally. I haven't investigated this thoroughly, but you can take a look at the source and figure it out.

Problem

I have an automatic bug reporting facility in my app that includes useful information for debugging. One thing that I would like to include is the ROM provider. In particular I would like to know if the user is running a custom ROM and which, preferably even with the version number. Any idea how to retrieve this information programmatically? --- Taken from the Quintin (see below) http://code.google.com/p/cyanogen-updater/source/browse/trunk/src/cmupdaterapp/utils/SysUtils.java#19: ``` public static String getReadableModVersion() { String modVer = getSystemProperty(Constants.SYS_PROP_MOD_VERSION); return (modVer == null || modVer.length() == 0 ? "Unknown" : modVer); } ``` Whereby the constant is this: ``` public static final String SYS_PROP_MOD_VERSION = "ro.modversion"; ``` And here is the getSystemProperty(); ``` public static String getSystemProperty(String propName){ String line; BufferedReader input = null; try { Process p = Runtime.getRuntime().exec("getprop " + propName); input = new BufferedReader(new InputStreamReader(p.getInputStream()), 1024); line = input.readLine(); input.close(); } catch (IOException ex) { Log.e(TAG, "Unable to read sysprop " + propName, ex); return null; } finally { if(input != null) { try { input.close(); } catch (IOException e) { Log.e(TAG, "Exception while closing InputStream", e); } } } return line; } ``` Could anybody with a CM ROM can run this for me? Btw. Careful, this is GPL code. I for one can not use it. Any easier or non-GPL way?

Original source