Andriod: Check Android SDK pending licenses

Pending licenses are checked before installing any package and
the user is provided with an option to agree to license terms and
conditions

Task-number: QTCREATORBUG-19000
Change-Id: I4e149b4a6ac84c1f336bb7c50b0d62a2019c7868
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
Vikas Pachdha
2017-10-07 23:22:29 +02:00
parent 5002372533
commit 35689db652
5 changed files with 401 additions and 66 deletions

View File

@@ -48,7 +48,8 @@ class AndroidSdkManagerWidget : public QWidget
enum View {
PackageListing,
Operations
Operations,
LicenseWorkflow
};
public:
@@ -69,15 +70,22 @@ private:
void onCancel();
void onNativeSdkManager();
void onOperationResult(int index);
void onLicenseCheckResult(const AndroidSdkManager::OperationOutput &output);
void onSdkManagerOptions();
void addPackageFuture(const QFuture<AndroidSdkManager::OperationOutput> &future);
void beginLicenseCheck();
void beginExecution();
void beginUpdate();
void beginLicenseWorkflow();
void notifyOperationFinished();
void packageFutureFinished();
void cancelPendingOperations();
void switchView(View view);
View currentView() const;
void runPendingCommand();
AndroidConfig &m_androidConfig;
AndroidSdkManager::CommandType m_pendingCommand = AndroidSdkManager::None;
View m_currentView = PackageListing;
AndroidSdkManager *m_sdkManager = nullptr;
AndroidSdkModel *m_sdkModel = nullptr;
Ui::AndroidSdkManagerWidget *m_ui = nullptr;