Skip to content

Commit 1a63a4c

Browse files
committed
add parent child relative
1 parent f149751 commit 1a63a4c

File tree

1 file changed

+17
-16
lines changed
  • app/src/main/java/com/wmods/wppenhacer/xposed/features/customization

1 file changed

+17
-16
lines changed

app/src/main/java/com/wmods/wppenhacer/xposed/features/customization/CustomView.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -202,23 +202,24 @@ private void setRuleInView(RuleItem ruleItem, View view) {
202202
for (var declaration : ruleItem.rule) {
203203
var property = declaration.getProperty();
204204
switch (property) {
205-
case "position" -> {
205+
case "parent" -> {
206206
var value = declaration.get(0).toString().trim();
207-
if ("relative".equals(value)) {
208-
var parentView = (ViewGroup) view.getParent();
209-
if (parentView != null) {
210-
if (!(parentView instanceof FrameLayout) && parentView.getTag() != "relative") {
211-
var frameLayout = new FrameLayout(parentView.getContext());
212-
frameLayout.setTag("relative");
213-
var params = new FrameLayout.LayoutParams(view.getLayoutParams());
214-
var viewRoot = (ViewGroup) view.getRootView();
215-
viewRoot.addView(frameLayout, params);
216-
parentView.removeView(view);
217-
frameLayout.addView(view);
218-
view = frameLayout;
219-
} else if (parentView.getTag() == "relative") {
220-
view = parentView;
221-
}
207+
var parent = view.getRootView();
208+
if (!"root".equals(value)) {
209+
parent = parent.findViewById(Utils.getID(value, "id"));
210+
}
211+
if (parent instanceof ViewGroup parentView) {
212+
var oldParent = (View) view.getParent();
213+
if (oldParent.getTag() != "relative") {
214+
((ViewGroup) view.getParent()).removeView(view);
215+
var frameLayout = new FrameLayout(parentView.getContext());
216+
frameLayout.setTag("relative");
217+
var params = new FrameLayout.LayoutParams(view.getLayoutParams());
218+
parentView.addView(frameLayout, 0, params);
219+
frameLayout.addView(view);
220+
view = frameLayout;
221+
} else if (oldParent.getTag() == "relative") {
222+
view = oldParent;
222223
}
223224
}
224225
}

0 commit comments

Comments
 (0)