Skip to content
This repository has been archived by the owner on Sep 6, 2019. It is now read-only.

Commit

Permalink
Better merge
Browse files Browse the repository at this point in the history
Refs #1700
  • Loading branch information
M66B committed Jun 3, 2014
1 parent 8799b1c commit b58adaf
Showing 1 changed file with 19 additions and 18 deletions.
37 changes: 19 additions & 18 deletions src/biz/bokhorst/xprivacy/PrivacyManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -459,14 +459,13 @@ public static void applyTemplate(int uid, String restrictionName, boolean method
+ "+ask", false);
boolean parentRestricted = parentValue.contains("true");
boolean parentAsked = (!ondemand || parentValue.contains("asked"));
if (!clear) {
PRestriction parentMerge = getRestrictionEx(uid, rRestrictionName, null);
if (parentMerge.restricted)
parentRestricted = true;
if (!parentMerge.asked)
parentAsked = false;
}
listPRestriction.add(new PRestriction(uid, rRestrictionName, null, parentRestricted, parentAsked));
PRestriction parentMerge;
if (clear)
parentMerge = new PRestriction(uid, rRestrictionName, null, parentRestricted, parentAsked);
else
parentMerge = getRestrictionEx(uid, rRestrictionName, null);
listPRestriction.add(new PRestriction(uid, rRestrictionName, null, parentMerge.restricted
|| parentRestricted, parentMerge.asked && parentAsked));

// Childs
if (methods)
Expand All @@ -477,17 +476,19 @@ public static void applyTemplate(int uid, String restrictionName, boolean method
+ (parentAsked ? "+asked" : "+ask"), false);
boolean restricted = value.contains("true");
boolean asked = (!ondemand || value.contains("asked"));
if (!clear) {
PRestriction childMerge = getRestrictionEx(uid, rRestrictionName, hook.getName());
if (childMerge.restricted)
restricted = true;
if (!childMerge.asked)
asked = false;
}
PRestriction childMerge;
if (clear)
childMerge = new PRestriction(uid, rRestrictionName, hook.getName(), parentRestricted
&& restricted, parentAsked || asked);
else
childMerge = getRestrictionEx(uid, rRestrictionName, hook.getName());
if ((parentRestricted && !restricted) || (!parentAsked && asked) || hook.whitelist() != null
|| !clear)
listPRestriction.add(new PRestriction(uid, rRestrictionName, hook.getName(), parentRestricted
&& restricted, parentAsked || asked));
|| !clear) {
PRestriction child = new PRestriction(uid, rRestrictionName, hook.getName(),
(parentRestricted && restricted) || childMerge.restricted, (parentAsked || asked)
&& childMerge.asked);
listPRestriction.add(child);
}
}
}
setRestrictionList(listPRestriction);
Expand Down

0 comments on commit b58adaf

Please sign in to comment.