2016-01-07 08:17:16 -05:00
|
|
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "EditorStyle.h"
|
|
|
|
|
#include "PropertyEditorModule.h"
|
|
|
|
|
#include "AndroidRuntimeSettings.h"
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
|
// FAndroidTargetSettingsCustomization
|
|
|
|
|
|
|
|
|
|
class FAndroidTargetSettingsCustomization : public IDetailCustomization
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
// Makes a new instance of this detail layout class for a specific detail view requesting it
|
|
|
|
|
static TSharedRef<IDetailCustomization> MakeInstance();
|
|
|
|
|
|
|
|
|
|
// IDetailCustomization interface
|
2014-06-13 06:14:46 -04:00
|
|
|
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
|
2014-03-14 14:13:41 -04:00
|
|
|
// End of IDetailCustomization interface
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
FAndroidTargetSettingsCustomization();
|
|
|
|
|
|
|
|
|
|
void BuildAppManifestSection(IDetailLayoutBuilder& DetailLayout);
|
|
|
|
|
void BuildIconSection(IDetailLayoutBuilder& DetailLayout);
|
2015-08-28 19:34:42 -04:00
|
|
|
void BuildLaunchImageSection(IDetailLayoutBuilder& DetailLayout);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
- Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
|
|
|
// Navigates to the build files in the explorer or finder
|
|
|
|
|
FReply OpenBuildFolder();
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// Copies the setup files for the platform into the project
|
|
|
|
|
void CopySetupFilesIntoProject();
|
|
|
|
|
|
2014-04-23 19:40:10 -04:00
|
|
|
// Copies the strings.xml file for the platform into the project
|
|
|
|
|
void CopyGooglePlayAppIDFileIntoProject();
|
|
|
|
|
|
|
|
|
|
// Called when the app id is modified
|
|
|
|
|
void OnAppIDModified();
|
|
|
|
|
|
2014-03-14 14:13:41 -04:00
|
|
|
private:
|
|
|
|
|
const FString AndroidRelativePath;
|
|
|
|
|
|
|
|
|
|
const FString EngineAndroidPath;
|
|
|
|
|
const FString GameAndroidPath;
|
|
|
|
|
|
2014-04-23 19:40:10 -04:00
|
|
|
const FString EngineGooglePlayAppIDPath;
|
|
|
|
|
const FString GameGooglePlayAppIDPath;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
const FString EngineProguardPath;
|
|
|
|
|
const FString GameProguardPath;
|
|
|
|
|
|
|
|
|
|
const FString EngineProjectPropertiesPath;
|
|
|
|
|
const FString GameProjectPropertiesPath;
|
|
|
|
|
|
|
|
|
|
TArray<struct FPlatformIconInfo> IconNames;
|
2015-08-28 19:34:42 -04:00
|
|
|
TArray<struct FPlatformIconInfo> LaunchImageNames;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
// Is the manifest writable?
|
|
|
|
|
TAttribute<bool> SetupForPlatformAttribute;
|
|
|
|
|
|
2014-04-23 19:40:10 -04:00
|
|
|
// Is the App ID string writable?
|
|
|
|
|
TAttribute<bool> SetupForGooglePlayAttribute;
|
|
|
|
|
|
2015-01-27 20:33:14 -05:00
|
|
|
IDetailLayoutBuilder* SavedLayoutBuilder;
|
2014-03-14 14:13:41 -04:00
|
|
|
};
|