mozilla-services/android-sync — comment on commit a2e45d1c99fe8d61db9049f2ff2aa6537b0b42a1
File: src/main/java/org/mozilla/gecko/sync/setup/Constants.java line 55
By rnewman:

android.os.Build.MODEL will give you a unique string.

Combine this with preprocessing to get @MOZ_APP_DISPLAYNAME@ (but being careful not to require new strings), and you could get something like

#filter substitution

package org.mozilla.gecko.sync.setup;

public class ClientName {
public static final String PRODUCT_NAME = "@MOZ_APP_DISPLAYNAME@";
public static String getClientName() {
return PRODUCT_NAME + "/ " + android.os.Build.MODEL;
}
}

in a file named ClientName.java.in in some directory somewhere.

For now I'll settle for using android.os.Build.MODEL to avoid fussing with preprocessing.