Git Product home page Git Product logo

Comments (3)

wsot avatar wsot commented on June 25, 2024

I totally agree that the handling of pSetMan/checking the service/responding to problem needs to be improved. For this first pass, I was more concerned with adding deny-on-fail functionality, knowing that I'd need to clean it up.

The basic structure I was thinking is this:
byte privacyOutcome;
PrivacySettings pSet;
if (pSetMan == null) {
//create new pSetMan
}
try {
//get the privacy settings, etc
//inside the functions checking the service connection etc, add re-connecting to the service
//get the appropriate privacy settings
} catch (PrivacyServiceException e) {
//deny access
privacyOutcome = PrivacySettings.ERROR;
}

switch (privacyOutcome) {
case REAL:
//do the real thing
break;
case ERROR:
//do the error thing;
break;
...
}

The reason the 'pSetMan == null' check is necessary is because reflection can be used to destroy the pSetMan object.
Also, we still need the PrivacyServiceException to handle if something goes bad actually getting the data from the service (vs returning null in error conditions).
The reason for using a switch is because that way multiple error conditions can be handled together if necessary. If there are not multiple error conditions then the privacyOutcome thing isn't necessary, and the producing of results can be mixed into the try-catch code above.

Is that pretty similar to what you were thinking?

from platform_frameworks_base.

CollegeDev avatar CollegeDev commented on June 25, 2024

Just have a look at my new patches. You can find my solution in the class: PrivacySettingsManager.java

from platform_frameworks_base.

wsot avatar wsot commented on June 25, 2024

Sorry, I'm not sure where your new patches are. I don't see them in Github, and the first post of the XDA thread doesn't seem to have a modified version.
Sorry it has taken me ages to get back to you - I've only just had my internet reconnected (I moved house).

from platform_frameworks_base.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.