public string GetPackageName(MonoDroidProjectConfiguration conf) { var f = GetManifestFileName(conf); if (!f.IsNullOrEmpty) { if (packageNameCache == null) { packageNameCache = new AndroidPackageNameCache(this); } string packageName = packageNameCache.GetPackageName(f); if (!string.IsNullOrEmpty(packageName)) { return(packageName); } } //no name in manifest, use same default package name as GetAndroidPackageName MSBuild task var name = conf.CompiledOutputName.FileNameWithoutExtension.Replace(" ", ""); if (name.Contains(".")) { return(name); } else { return(name + "." + name); } }
/// <summary> /// User setting of device for running app in simulator. Null means use default. /// </summary> public string GetDeviceTarget(MonoDroidProjectConfiguration conf) { //FIXME: do we really want this to be per-project/per-configuration? or should it be a global MD setting? var device = UserProperties.GetValue <string> (GetDeviceTargetKey(conf)); if (string.IsNullOrEmpty(device)) { return(null); } return(device); }
static void ClearUploadFlags(MonoDroidProjectConfiguration conf) { try { var file = GetUploadFlagFileName(conf); if (File.Exists(file)) { File.Delete(file); } } catch (Exception ex) { LoggingService.LogError("Error clearing upload flags", ex); } }
//simple flag used to determine whether the current binary has been uploaded to the device //we clear it before signing, and set it for each device after successful upload static bool GetUploadFlag(MonoDroidProjectConfiguration conf, AndroidDevice device) { try { var file = GetUploadFlagFileName(conf); if (File.Exists(file)) { var deviceIds = File.ReadAllLines(file); return(deviceIds.Contains(device.ID)); } } catch (Exception ex) { LoggingService.LogError("Error reading upload flag", ex); } return(true); }
static void SetUploadFlag(MonoDroidProjectConfiguration conf, AndroidDevice device) { try { var file = GetUploadFlagFileName(conf); if (!File.Exists(file)) { File.WriteAllText(file, device.ID); } else { File.AppendAllText(file, "\n" + device.ID); } } catch (Exception ex) { LoggingService.LogError("Error setting upload flag", ex); } }
public override SolutionItemConfiguration CreateConfiguration(string name) { var conf = new MonoDroidProjectConfiguration(name); conf.CopyFrom(base.CreateConfiguration(name)); if (conf.Name.IndexOf("debug", StringComparison.OrdinalIgnoreCase) > -1) { conf.AndroidUseSharedRuntime = true; conf.MonoDroidLinkMode = MonoDroidLinkMode.None; } else { conf.AndroidUseSharedRuntime = false; conf.MonoDroidLinkMode = MonoDroidLinkMode.SdkOnly; } return(conf); }
FilePath GetManifestFileName(MonoDroidProjectConfiguration conf) { if (conf != null && !conf.AndroidManifest.IsNullOrEmpty) { return(conf.AndroidManifest); } // AndroidManifest property may have not been added to the solution, // yet it could exist in the default location. if (string.IsNullOrEmpty(AndroidManifest)) { var defManifestPath = GetDefaultManifestFileName(); if (File.Exists(defManifestPath)) { AddExistingManifest(defManifestPath); MonoDevelop.Ide.IdeApp.ProjectOperations.Save(this); } } return(this.AndroidManifest); }
static bool GetActivityNameFromManifest(IProgressMonitor monitor, MonoDroidProjectConfiguration conf, out string activity) { activity = null; var manifestFile = conf.ObjDir.Combine("android", "AndroidManifest.xml"); if (!File.Exists(manifestFile)) { monitor.ReportError("Intermediate manifest file is missing", null); return(false); } var manifest = AndroidAppManifest.Load(manifestFile); activity = manifest.GetLaunchableActivityName(); if (string.IsNullOrEmpty(activity)) { monitor.ReportError("Application does not contain a launchable activity", null); return(false); } activity = manifest.PackageName + "/" + activity; return(true); }
static string GetUploadFlagFileName(MonoDroidProjectConfiguration conf) { return(conf.ObjDir.Combine("uploadflags.txt")); }
FilePath GetManifestFileName (MonoDroidProjectConfiguration conf) { if (conf != null && !conf.AndroidManifest.IsNullOrEmpty) return conf.AndroidManifest; // AndroidManifest property may have not been added to the solution, // yet it could exist in the default location. if (string.IsNullOrEmpty (AndroidManifest)) { var defManifestPath = GetDefaultManifestFileName (); if (File.Exists (defManifestPath)) { AddExistingManifest (defManifestPath); MonoDevelop.Ide.IdeApp.ProjectOperations.Save (this); } } return this.AndroidManifest; }
public ProjectFile GetManifestFile (MonoDroidProjectConfiguration conf) { var manifestFile = GetManifestFileName (conf); if (manifestFile.IsNullOrEmpty) return null; return Files.GetFile (manifestFile); }
public ProjectFile GetManifestFile (MonoDroidProjectConfiguration conf) { var manifestFile = GetManifestFileName (conf); if (manifestFile.IsNullOrEmpty) return null; // If a specified manifest is not in the project, add or create it // FIXME: do we really want to do this? var pf = Files.GetFile (manifestFile); if (pf != null) return pf; if (!File.Exists (manifestFile)) AndroidAppManifest.Create (GetDefaultPackageName (), Name).WriteToFile (manifestFile); return AddFile (manifestFile); }
static bool GetActivityNameFromManifest (IProgressMonitor monitor, MonoDroidProjectConfiguration conf, out string activity) { activity = null; var manifestFile = conf.ObjDir.Combine ("android", "AndroidManifest.xml"); if (!File.Exists (manifestFile)) { monitor.ReportError ("Intermediate manifest file is missing", null); return false; } var manifest = AndroidAppManifest.Load (manifestFile); activity = manifest.GetLaunchableActivityName (); if (string.IsNullOrEmpty (activity)) { monitor.ReportError ("Application does not contain a launchable activity", null); return false; } activity = manifest.PackageName + "/" + activity; return true; }
public string GetPackageName (MonoDroidProjectConfiguration conf) { var f = GetManifestFileName (conf); if (!f.IsNullOrEmpty) { if (packageNameCache == null) packageNameCache = new AndroidPackageNameCache (this); string packageName = packageNameCache.GetPackageName (f); if (!string.IsNullOrEmpty (packageName)) return packageName; } //no name in manifest, use same default package name as GetAndroidPackageName MSBuild task var name = conf.CompiledOutputName.FileNameWithoutExtension.Replace (" ", "").ToLowerInvariant (); if (name.Contains (".")) return name; else return name + "." + name; }
string GetDeviceTargetKey (MonoDroidProjectConfiguration conf) { return "AndroidDeviceId-" + conf.Id; }
/// <summary> /// User setting of device for running app in simulator. Null means use default. /// </summary> public string GetDeviceTarget (MonoDroidProjectConfiguration conf) { //FIXME: do we really want this to be per-project/per-configuration? or should it be a global MD setting? var device = UserProperties.GetValue<string> (GetDeviceTargetKey (conf)); if (string.IsNullOrEmpty (device)) return null; return device; }
public void SetDeviceTarget(MonoDroidProjectConfiguration conf, string value) { UserProperties.SetValue <string> (GetDeviceTargetKey(conf), value); }
string GetDeviceTargetKey(MonoDroidProjectConfiguration conf) { return("AndroidDeviceId-" + conf.Id); }
public override SolutionItemConfiguration CreateConfiguration (string name) { var conf = new MonoDroidProjectConfiguration (name); conf.CopyFrom (base.CreateConfiguration (name)); return conf; }
/// <summary> /// User setting of device for running app in simulator. Null means use default. /// </summary> public AndroidDevice GetDeviceTarget (MonoDroidProjectConfiguration conf) { return UserProperties.GetValue<AndroidDevice> (GetDeviceTargetKey (conf)); }
public void SetDeviceTarget (MonoDroidProjectConfiguration conf, string value) { UserProperties.SetValue<string> (GetDeviceTargetKey (conf), value); }
public void SetDeviceTarget (MonoDroidProjectConfiguration conf, AndroidDevice value) { UserProperties.SetValue<AndroidDevice> (GetDeviceTargetKey (conf), value); }
public bool PackageNeedsSigning (MonoDroidProjectConfiguration conf) { return !File.Exists (conf.ApkSignedPath) || File.GetLastWriteTime (conf.ApkSignedPath) < File.GetLastWriteTime (conf.ApkPath); }
public string GetPackageName (MonoDroidProjectConfiguration conf) { var pf = GetManifestFile (conf); //no manifest, use the same default package name as the MSBuild tasks do if (pf == null) { var name = conf.CompiledOutputName.FileNameWithoutExtension; return string.Format ("{0}.{0}", name.Replace (" ", "").ToLowerInvariant ()); } if (packageNameCache == null) packageNameCache = new AndroidPackageNameCache (this); return packageNameCache.GetPackageName (pf.Name); }
FilePath GetManifestFileName (MonoDroidProjectConfiguration conf) { if (conf != null && !conf.AndroidManifest.IsNullOrEmpty) return conf.AndroidManifest; return this.AndroidManifest; }
public override SolutionItemConfiguration CreateConfiguration (string name) { var conf = new MonoDroidProjectConfiguration (name); conf.CopyFrom (base.CreateConfiguration (name)); if (conf.Name.IndexOf ("debug", StringComparison.OrdinalIgnoreCase) > -1) { conf.AndroidUseSharedRuntime = true; conf.MonoDroidLinkMode = MonoDroidLinkMode.None; } else { conf.AndroidUseSharedRuntime = false; conf.MonoDroidLinkMode = MonoDroidLinkMode.SdkOnly; } return conf; }