@NotNull @VisibleForTesting IntelliJPlatform getCurrentPlatform() { return IntelliJPlatform.fromPrefix(PlatformUtils.getPlatformPrefix()); }
/** * Returns {@code true} if usage tracking is available. Usage tracking is excluded from Android * Studio. */ @Override public boolean isUsageTrackingAvailable() { return !"AndroidStudio".equals(PlatformUtils.getPlatformPrefix()) && getAnalyticsProperty() != null; }
/** @return true if running platform is not Android Studio. */ @Override public boolean canCreateConfigurable() { // For now we can hide Google entirely if usage tracking isn't available as there are no // other Google related account settings in the IJ UI. // Create a sub-menu item for the cloud SDK and hide the usage tracker if not available return !"AndroidStudio".equals(PlatformUtils.getPlatformPrefix()) && UsageTrackingManagementService.getInstance().isUsageTrackingAvailable(); } }
@NotNull private String getFailureLandingPage() { IntelliJPlatform currentPlatform = IntelliJPlatform.fromPrefix(PlatformUtils.getPlatformPrefix()); if (currentPlatform == IntelliJPlatform.ANDROID_STUDIO) { return LandingPages.ANDROID_STUDIO.getFailurePage(); } return LandingPages.INTELLIJ.getFailurePage(); }
@NotNull private String getSuccessLandingPage() { IntelliJPlatform currentPlatform = IntelliJPlatform.fromPrefix(PlatformUtils.getPlatformPrefix()); if (currentPlatform == IntelliJPlatform.ANDROID_STUDIO) { return LandingPages.ANDROID_STUDIO.getSuccessPage(); } return LandingPages.INTELLIJ.getSuccessPage(); } }
/** * Constructs a usage tracker configured with analytics and plugin name configured from its * environment. */ public GoogleUsageTrackerService() { analyticsId = UsageTrackingManagementService.getInstance().getAnalyticsProperty(); PluginInfoService pluginInfo = ServiceManager.getService(PluginInfoService.class); externalPluginName = pluginInfo.getExternalPluginName(); userAgent = pluginInfo.getUserAgent(); String intellijPlatformName = PlatformUtils.getPlatformPrefix(); String intellijPlatformVersion = ApplicationInfo.getInstance().getStrictVersion(); String cloudToolsPluginVersion = pluginInfo.getPluginVersion(); Map<String, String> systemMetadataMap = ImmutableMap.of( PLATFORM_NAME_KEY, METADATA_ESCAPER.escape(intellijPlatformName), PLATFORM_VERSION_KEY, METADATA_ESCAPER.escape(intellijPlatformVersion), JDK_VERSION_KEY, METADATA_ESCAPER.escape(JDK_VERSION_VALUE), OPERATING_SYSTEM_KEY, METADATA_ESCAPER.escape(OPERATING_SYSTEM_VALUE), PLUGIN_VERSION_KEY, METADATA_ESCAPER.escape(cloudToolsPluginVersion)); systemMetadataKeyValues = METADATA_JOINER.join(systemMetadataMap); }