forked from qt-creator/qt-creator
Android: Remove Service management from AndroidManifestEditorWidget
Any manipulation of an AndroidManifest.xml document in the AndroidManifestEditor would heavily modify present <service/> entries. Even if the Service widget is not used. Furthermore, the service handling code would filter out any present white space. A visual XML editor must keep any present information (ideally also formatting and white spaces) intact and should only apply the minimal amount of change when saving. This can be challenging if the loaded AndroidManifest.xml has before been hand-edited. Implementing and maintaining a visual XML editor requires much effort. It has to be considered if such effort is reasonable for a specialist feature like creating Android services, especially since the "Manifest elements reference" is very well documented on developer.android.com and the Qt- specific parts in the Qt docs. This change removes the service management from the AndroidManifestEditorWidget. A good, text-based XML editor that considers the AndroidManifest schema is a valid substitute. Fixes: QTCREATORBUG-28024 Change-Id: I73ce5b5c548c5bee6fb7fe2d50d83e0ca3937208 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
This commit is contained in:
@@ -33,7 +33,6 @@ namespace Android::Internal {
|
||||
class AndroidManifestEditor;
|
||||
class AndroidManifestEditorIconContainerWidget;
|
||||
class AndroidManifestEditorWidget;
|
||||
class AndroidServiceWidget;
|
||||
class SplashScreenContainerWidget;
|
||||
|
||||
class PermissionsModel: public QAbstractListModel
|
||||
@@ -114,14 +113,10 @@ private:
|
||||
|
||||
void updateInfoBar(const QString &errorMessage, int line, int column);
|
||||
void hideInfoBar();
|
||||
void setInvalidServiceInfo();
|
||||
void clearInvalidServiceInfo();
|
||||
|
||||
void parseManifest(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
void parseApplication(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
void parseSplashScreen(QXmlStreamWriter &writer);
|
||||
void parseService(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
void parseNewServices(QXmlStreamWriter &writer);
|
||||
void parseActivity(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
bool parseMetaData(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
void parseUsesSdk(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
@@ -129,15 +124,13 @@ private:
|
||||
QXmlStreamWriter &writer,
|
||||
const QSet<QString> &permissions);
|
||||
QString parseComment(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
void parseUnknownElement(QXmlStreamReader &reader, QXmlStreamWriter &writer, bool ignore=false);
|
||||
void parseUnknownElement(QXmlStreamReader &reader, QXmlStreamWriter &writer);
|
||||
|
||||
QGroupBox *createPermissionsGroupBox(QWidget *parent);
|
||||
QGroupBox *createPackageFormLayout(QWidget *parent);
|
||||
QGroupBox *createApplicationGroupBox(QWidget *parent);
|
||||
QGroupBox *createAdvancedGroupBox(QWidget *parent);
|
||||
|
||||
void addServiceMetadata(QXmlStreamWriter &writer);
|
||||
|
||||
bool m_dirty = false; // indicates that we need to call syncToEditor()
|
||||
bool m_stayClean = false;
|
||||
int m_errorLine;
|
||||
@@ -170,8 +163,6 @@ private:
|
||||
QPushButton *m_removePermissionButton;
|
||||
QComboBox *m_permissionsComboBox;
|
||||
|
||||
// Services
|
||||
AndroidServiceWidget *m_services;
|
||||
QTimer m_timerParseCheck;
|
||||
TextEditor::TextEditorWidget *m_textEditorWidget;
|
||||
AndroidManifestEditor *m_editor;
|
||||
|
||||
Reference in New Issue
Block a user