Files
UnrealEngineUWP/Engine/Source/Developer/Android/AndroidPlatformEditor/Private/AndroidTargetSettingsCustomization.h
Josh Adams 9cf8c67c77 - 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

71 lines
2.1 KiB
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#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
virtual void CustomizeDetails(IDetailLayoutBuilder& DetailLayout) override;
// End of IDetailCustomization interface
private:
FAndroidTargetSettingsCustomization();
void BuildAppManifestSection(IDetailLayoutBuilder& DetailLayout);
void BuildIconSection(IDetailLayoutBuilder& DetailLayout);
// Navigates to the build files in the explorer or finder
FReply OpenBuildFolder();
// Copies the setup files for the platform into the project
void CopySetupFilesIntoProject();
// Copies the strings.xml file for the platform into the project
void CopyGooglePlayAppIDFileIntoProject();
// Called when the app id is modified
void OnAppIDModified();
private:
const FString AndroidRelativePath;
const FString EngineAndroidPath;
const FString GameAndroidPath;
const FString EngineGooglePlayAppIDPath;
const FString GameGooglePlayAppIDPath;
const FString EngineProguardPath;
const FString GameProguardPath;
const FString EngineProjectPropertiesPath;
const FString GameProjectPropertiesPath;
TArray<struct FPlatformIconInfo> IconNames;
// Is the manifest writable?
TAttribute<bool> SetupForPlatformAttribute;
// Is the App ID string writable?
TAttribute<bool> SetupForGooglePlayAttribute;
// Converts an orientation enum to the associated string value
static FString OrientationToString(const EAndroidScreenOrientation::Type Orientation);
// Converts an depth preference enum to the associated string value
static FString DepthBufferPreferenceToString(const EAndroidDepthBufferPreference::Type DepthBufferPreference);
IDetailLayoutBuilder* SavedLayoutBuilder;
};