Files
UnrealEngineUWP/Engine/Source/Developer/Android/AndroidPlatformEditor/Private/AndroidTargetSettingsCustomization.h
Ben Marsh f86325bfa7 Merging //UE4/Release-4.17 @ CL 3528061 to Release-Staging-4.17 (//UE4/Release-Staging-4.17)
#rb none
#jira UE-123

[CL 3535468 by Ben Marsh in Staging-4.17 branch]
2017-07-13 10:13:07 -04:00

76 lines
2.2 KiB
C++

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Misc/Attribute.h"
#include "Input/Reply.h"
#include "IDetailCustomization.h"
class IDetailLayoutBuilder;
//////////////////////////////////////////////////////////////////////////
// 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);
void BuildLaunchImageSection(IDetailLayoutBuilder& DetailLayout);
void BuildDaydreamAppTileImageSection(IDetailLayoutBuilder& DetailLayout);
void BuildGraphicsDebuggerSection(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();
// Called when EnableGradle is modified
void OnEnableGradleChange();
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;
TArray<struct FPlatformIconInfo> LaunchImageNames;
TArray<struct FPlatformIconInfo> DaydreamAppTileImageNames;
// Is the manifest writable?
TAttribute<bool> SetupForPlatformAttribute;
// Is the App ID string writable?
TAttribute<bool> SetupForGooglePlayAttribute;
IDetailLayoutBuilder* SavedLayoutBuilder;
};