Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-2327] Android: Froyo ID is Non-Unique

GitHub Issuen/a
TypeNew Feature
PriorityMedium
StatusClosed
ResolutionFixed
Resolution Date2011-04-17T01:58:46.000+0000
Affected Version/sn/a
Fix Version/sRelease 1.6.0 M05
ComponentsAndroid
Labelsandroid, feature, release-1.6.0, rplist
ReporterDon Thorp
AssigneeDon Thorp
Created2011-04-15T03:16:48.000+0000
Updated2011-10-14T08:25:21.000+0000

Description

There is a bug in Froyo devices and we should probably just generate an ID for each app on device and give up on relying on the platform ID.

Comments

  1. Don Thorp 2011-04-15

    If device returns platform id 9774d56d682e549c create a new UUID and put it in the analytics db. http://code.google.com/p/android/issues/detail?id=10603">Google code bug 10603

  2. Don Thorp 2011-04-15

    This is a little more involved than originally anticipated. Basically we need to detect any change in ID and report both the previous and new platform ID. We have to take into account that a vendor changes the platform id for whatever reason. For example, if motorola pushes a patch to this problem to generate a "correct" ID. If a platform doesn't have an ID and we generate a UUID, we need to detect an ID change if the manufacturer begins shipping an updated OS where the ID now exists.

  3. Don Thorp 2011-04-15

    Moving to M05 need to test with Nika

  4. Don Thorp 2011-04-15

    We'll talk about this one in MV. We need to work with Nika to confirm.

  5. Opie Cyrus 2011-04-15

    (from [d25452b03140567d7855ce5d196c2ecffbb9f81d]) [#2327 state:fixed-in-qa] replace bad machine ids on android

    Changed initialize method in TiPlatformHelper to check for bad IDs and replace them with a generated ID. Made change to App.java template in order to invoke the initialize method from the onCreate once the AppInfo has been loaded. Made change to DatabaseHelper to support update calls. Modified analytics enroll message to include the previous machine ID so the change from old to new ids can be tracked.
    https://github.com/appcelerator/titanium_mobile/commit/d25452b03140567d7855ce5d196c2ecffbb9f81d"> https://github.com/appcelerator/titanium_mobile/commit/d25452b03140...

  6. Opie Cyrus 2011-04-15

    Verified with Nika. Difficult to automate so including the enroll events received by Nika for the 4 test cases.

    "

       TEST CASE 1 (invalid-invalid)


    -rw-r--r-- 1 apache apache 467 Jan 13 17:04 13/ab/ti.start.ab6fb623-1ba1-4daa-b924-06f6ca0c5a72:f651f14b-a7c4-4ee0-8bfb-bc462f5cb970 -rw-r--r-- 1 apache apache 587 Jan 13 17:04 13/fb/ti.enroll.fbbe4283-6652-4b2b-a4c4-6f3e640d0d8d:f651f14b-a7c4-4ee0-8bfb-bc462f5cb970 [Thu Jan 13 Net1 /event_store/d/mobile/2011/01/13] vim 13/fb/ti.enroll.fbbe4283-6652-4b2b-a4c4-6f3e640d0d8d\:f651f14b-a7c4-4ee0-8bfb-bc462f5cb970


    {"id":"fbbe4283-6652-4b2b-a4c4-6f3e640d0d8d:f651f14b-a7c4-4ee0-8bfb-bc462f5cb970","sid":"356f69cd-1ea0-49f6-a1f5-824c4dde5bb3","ts":"2011-01-14T01:04:11.347-0800","event":"ti.enroll","data":{"platform":"android","osarch":"ARM926EJ-S rev 5 (v5l)","model":"google_sdk","mac_addr":"f651f14b-a7c4-4ee0-8bfb-bc462f5cb970","previous_mid":"9774d56d682e549c","oscpu":1,"ostype":"32bit","deploytype":"development","app_id":"com.appcelerator.base","app_name":"base"},"seq":63,"mid":"f651f14b-a7c4-4ee0-8bfb-bc462f5cb970","ver":"2","type":"ti.enroll","aguid":"c2c038c9-4b73-45cd-b150-14664c756986"}


    TEST CASE 2 (invalid-valid)


    -rw-r--r-- 1 apache apache 433 Jan 13 17:17 13/55/ti.start.55b7fc69-b1e8-4d76-acf7-f25512ab0e2e:platformid123456789 -rw-r--r-- 1 apache apache 556 Jan 13 17:17 13/9e/ti.enroll.9e712dfc-13e3-455d-869d-59a9c55b6ab3:platformid123456789 [Thu Jan 13 Net2 /event_store/d/mobile/2011/01] vim 13/9e/ti.enroll.9e712dfc-13e3-455d-869d-59a9c55b6ab3:platformid123456789


    {"id":"9e712dfc-13e3-455d-869d-59a9c55b6ab3:platformid123456789","sid":"5bb1911c-7842-4eb2-86d3-660f93c3b2f7","ts":"2011-01-14T01:17:20.767-0800","event":"ti.enroll","data":{"platform":"android","osarch":"ARM926EJ-S rev 5 (v5l)","model":"google_sdk","mac_addr":"platformid123456789","previous_mid":"f651f14b-a7c4-4ee0-8bfb-bc462f5cb970","oscpu":1,"ostype":"32bit","deploytype":"development","app_id":"com.appcelerator.base","app_name":"base"},"seq":65,"mid":"platformid123456789","ver":"2","type":"ti.enroll","aguid":"c2c038c9-4b73-45cd-b150-14664c756986"}


    TEST CASE 3 (valid-vaild)


    -rw-r--r-- 1 apache apache 433 Jan 13 17:35 13/b9/ti.start.b925c613-867f-4ca0-953a-7bad77692d42:platformid987654321 -rw-r--r-- 1 apache apache 539 Jan 13 17:35 13/f8/ti.enroll.f8997e7b-aca6-4e2c-830f-d53db5883dfb:platformid987654321 [Thu Jan 13 Net1 /event_store/d/mobile/2011/01] vim 13/f8/ti.enroll.f8997e7b-aca6-4e2c-830f-d53db5883dfb:platformid987654321


    {"id":"f8997e7b-aca6-4e2c-830f-d53db5883dfb:platformid987654321","sid":"20f90694-2c74-4aad-b052-4b19b7a8d52c","ts":"2011-01-14T01:34:47.173-0800","event":"ti.enroll","data":{"platform":"android","osarch":"ARM926EJ-S rev 5 (v5l)","model":"google_sdk","mac_addr":"platformid987654321","previous_mid":"platformid123456789","oscpu":1,"ostype":"32bit","deploytype":"development","app_id":"com.appcelerator.base","app_name":"base"},"seq":67,"mid":"platformid987654321","ver":"2","type":"ti.enroll","aguid":"c2c038c9-4b73-45cd-b150-14664c756986"}


    TEST CASE 4 (valid-invalid)


    -rw-r--r-- 1 apache apache 590 Jan 13 17:38 13/7e/ti.enroll.7e414c62-b460-429b-af63-d3323638f719:a65bdf39-fb57-45a6-b0fc-dd90c2f5294e -rw-r--r-- 1 apache apache 467 Jan 13 17:38 13/97/ti.start.97f1b11d-5a01-4d27-b641-ab543c768bf4:a65bdf39-fb57-45a6-b0fc-dd90c2f5294e [Thu Jan 13 Net1 /event_store/d/mobile/2011/01] vim 13/7e/ti.enroll.7e414c62-b460-429b-af63-d3323638f719:a65bdf39-fb57-45a6-b0fc-dd90c2f5294e


    {"id":"7e414c62-b460-429b-af63-d3323638f719:a65bdf39-fb57-45a6-b0fc-dd90c2f5294e","sid":"509ab0b6-2771-45aa-8891-d78f2feea98d","ts":"2011-01-14T01:38:03.797-0800","event":"ti.enroll","data":{"platform":"android","osarch":"ARM926EJ-S rev 5 (v5l)","model":"google_sdk","mac_addr":"a65bdf39-fb57-45a6-b0fc-dd90c2f5294e","previous_mid":"platformid987654321","oscpu":1,"ostype":"32bit","deploytype":"development","app_id":"com.appcelerator.base","app_name":"base"},"seq":69,"mid":"a65bdf39-fb57-45a6-b0fc-dd90c2f5294e","ver":"2","type":"ti.enroll","aguid":"c2c038c9-4b73-45cd-b150-14664c756986"}
    "
  7. Thomas Huelbert 2011-04-15

    closing based on Opies comments

JSON Source