How to enable or disable functions in my app depending on fetched data












3















I'm working on a profile for an app that requires some data to be fetched from Firebase database and then shown into the user profile.



So far, so good, this requirement is done and all the data is fetched correctly to the user profiles.



But now I have another requirement that put some of my functionality in a spot that I'm trying to figure out how to do it the better way.



I load all the data of the profile with this method (since it's a big method I'm going to shrink it, but the question is not about the code but about logic).



        private void loadProfileData() {
if (mActivity == null) {
return;
}

mProgressBar.setVisibility(View.VISIBLE);
mDatabase.child("users").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

if (dataSnapshot.exists()) {

UserModel model = dataSnapshot.getValue(UserModel.class);

String username = model.getUsername();
.
.
.
//All data loaded

mProgressBar.setVisibility(View.GONE);

...


So, while this data is being fetched I have an overflow menu that has the option to edit the user profile.



enter image description here



Now, that edit profile option is enabled while my data is beign fetched, and I need to pass extras to that Activity with all the user info that is fetched from Firebase in order to load it there and edit it.



Now, I have thought this in two ways




  1. Wait until all async process is done and then enable the edit
    profile option in the navigation menu

  2. Leave the menu button enabled while the data is being fetched and
    fetch it again when I'm inside that Activity (that would be
    reloading all the data instead of passing it as extra which will be
    more efficient) but at the same time I'm doing two requests for the
    same data


Is there any better way to implement this functionality?










share|improve this question





























    3















    I'm working on a profile for an app that requires some data to be fetched from Firebase database and then shown into the user profile.



    So far, so good, this requirement is done and all the data is fetched correctly to the user profiles.



    But now I have another requirement that put some of my functionality in a spot that I'm trying to figure out how to do it the better way.



    I load all the data of the profile with this method (since it's a big method I'm going to shrink it, but the question is not about the code but about logic).



            private void loadProfileData() {
    if (mActivity == null) {
    return;
    }

    mProgressBar.setVisibility(View.VISIBLE);
    mDatabase.child("users").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

    if (dataSnapshot.exists()) {

    UserModel model = dataSnapshot.getValue(UserModel.class);

    String username = model.getUsername();
    .
    .
    .
    //All data loaded

    mProgressBar.setVisibility(View.GONE);

    ...


    So, while this data is being fetched I have an overflow menu that has the option to edit the user profile.



    enter image description here



    Now, that edit profile option is enabled while my data is beign fetched, and I need to pass extras to that Activity with all the user info that is fetched from Firebase in order to load it there and edit it.



    Now, I have thought this in two ways




    1. Wait until all async process is done and then enable the edit
      profile option in the navigation menu

    2. Leave the menu button enabled while the data is being fetched and
      fetch it again when I'm inside that Activity (that would be
      reloading all the data instead of passing it as extra which will be
      more efficient) but at the same time I'm doing two requests for the
      same data


    Is there any better way to implement this functionality?










    share|improve this question



























      3












      3








      3








      I'm working on a profile for an app that requires some data to be fetched from Firebase database and then shown into the user profile.



      So far, so good, this requirement is done and all the data is fetched correctly to the user profiles.



      But now I have another requirement that put some of my functionality in a spot that I'm trying to figure out how to do it the better way.



      I load all the data of the profile with this method (since it's a big method I'm going to shrink it, but the question is not about the code but about logic).



              private void loadProfileData() {
      if (mActivity == null) {
      return;
      }

      mProgressBar.setVisibility(View.VISIBLE);
      mDatabase.child("users").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
      @Override
      public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

      if (dataSnapshot.exists()) {

      UserModel model = dataSnapshot.getValue(UserModel.class);

      String username = model.getUsername();
      .
      .
      .
      //All data loaded

      mProgressBar.setVisibility(View.GONE);

      ...


      So, while this data is being fetched I have an overflow menu that has the option to edit the user profile.



      enter image description here



      Now, that edit profile option is enabled while my data is beign fetched, and I need to pass extras to that Activity with all the user info that is fetched from Firebase in order to load it there and edit it.



      Now, I have thought this in two ways




      1. Wait until all async process is done and then enable the edit
        profile option in the navigation menu

      2. Leave the menu button enabled while the data is being fetched and
        fetch it again when I'm inside that Activity (that would be
        reloading all the data instead of passing it as extra which will be
        more efficient) but at the same time I'm doing two requests for the
        same data


      Is there any better way to implement this functionality?










      share|improve this question
















      I'm working on a profile for an app that requires some data to be fetched from Firebase database and then shown into the user profile.



      So far, so good, this requirement is done and all the data is fetched correctly to the user profiles.



      But now I have another requirement that put some of my functionality in a spot that I'm trying to figure out how to do it the better way.



      I load all the data of the profile with this method (since it's a big method I'm going to shrink it, but the question is not about the code but about logic).



              private void loadProfileData() {
      if (mActivity == null) {
      return;
      }

      mProgressBar.setVisibility(View.VISIBLE);
      mDatabase.child("users").child(mAuth.getCurrentUser().getUid()).addValueEventListener(new ValueEventListener() {
      @Override
      public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

      if (dataSnapshot.exists()) {

      UserModel model = dataSnapshot.getValue(UserModel.class);

      String username = model.getUsername();
      .
      .
      .
      //All data loaded

      mProgressBar.setVisibility(View.GONE);

      ...


      So, while this data is being fetched I have an overflow menu that has the option to edit the user profile.



      enter image description here



      Now, that edit profile option is enabled while my data is beign fetched, and I need to pass extras to that Activity with all the user info that is fetched from Firebase in order to load it there and edit it.



      Now, I have thought this in two ways




      1. Wait until all async process is done and then enable the edit
        profile option in the navigation menu

      2. Leave the menu button enabled while the data is being fetched and
        fetch it again when I'm inside that Activity (that would be
        reloading all the data instead of passing it as extra which will be
        more efficient) but at the same time I'm doing two requests for the
        same data


      Is there any better way to implement this functionality?







      java android firebase firebase-realtime-database






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 29 '18 at 22:22









      halfer

      14.6k758113




      14.6k758113










      asked Nov 27 '18 at 12:22









      Gastón SaillénGastón Saillén

      3,74841233




      3,74841233
























          2 Answers
          2






          active

          oldest

          votes


















          1














          Is it possible to load all user data in the background, perhaps on app start? You can then display the edit button, and assume the current cache of data is correct.



          You can still pull the latest copy of the data, and then update the UI accordingly if it's any different. I imagine the data won't change often however, so loading it a few minutes earlier is presumably safe.






          share|improve this answer
























          • yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

            – Gastón Saillén
            Nov 27 '18 at 12:26













          • Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

            – JakeSteam
            Nov 27 '18 at 12:28











          • yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

            – Gastón Saillén
            Nov 27 '18 at 12:29






          • 1





            thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

            – Gastón Saillén
            Nov 27 '18 at 12:34








          • 1





            The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

            – JakeSteam
            Nov 27 '18 at 12:36



















          1














          Nice question Gastón. So to answer your questions:




          Wait until all async process is done and then enable the edit profile option in the navigation menu




          In my opinion, this is the recommended way in which you can solve this. Wait for the data and then enable the button. Let's be honest, you cannot edit something that isn't available yet. So get the data, enable the button and let the user update his own profile.




          Leave the menu button enabled while the data is being fetched and fetch it again when I'm inside that Activity (that would be reloading all the data instead of passing it as extra which will be more efficient) but at the same time I'm doing two requests for the same data




          There is no need to get the data twice. It will be a waste of bandwidth and resources. There is not a good practice to get data over and over again since you can reuse it.






          share|improve this answer



















          • 2





            Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

            – Alex Mamo
            Nov 27 '18 at 12:46








          • 1





            That's a really nice point !

            – Gastón Saillén
            Nov 27 '18 at 12:55











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53499598%2fhow-to-enable-or-disable-functions-in-my-app-depending-on-fetched-data%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Is it possible to load all user data in the background, perhaps on app start? You can then display the edit button, and assume the current cache of data is correct.



          You can still pull the latest copy of the data, and then update the UI accordingly if it's any different. I imagine the data won't change often however, so loading it a few minutes earlier is presumably safe.






          share|improve this answer
























          • yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

            – Gastón Saillén
            Nov 27 '18 at 12:26













          • Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

            – JakeSteam
            Nov 27 '18 at 12:28











          • yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

            – Gastón Saillén
            Nov 27 '18 at 12:29






          • 1





            thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

            – Gastón Saillén
            Nov 27 '18 at 12:34








          • 1





            The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

            – JakeSteam
            Nov 27 '18 at 12:36
















          1














          Is it possible to load all user data in the background, perhaps on app start? You can then display the edit button, and assume the current cache of data is correct.



          You can still pull the latest copy of the data, and then update the UI accordingly if it's any different. I imagine the data won't change often however, so loading it a few minutes earlier is presumably safe.






          share|improve this answer
























          • yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

            – Gastón Saillén
            Nov 27 '18 at 12:26













          • Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

            – JakeSteam
            Nov 27 '18 at 12:28











          • yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

            – Gastón Saillén
            Nov 27 '18 at 12:29






          • 1





            thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

            – Gastón Saillén
            Nov 27 '18 at 12:34








          • 1





            The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

            – JakeSteam
            Nov 27 '18 at 12:36














          1












          1








          1







          Is it possible to load all user data in the background, perhaps on app start? You can then display the edit button, and assume the current cache of data is correct.



          You can still pull the latest copy of the data, and then update the UI accordingly if it's any different. I imagine the data won't change often however, so loading it a few minutes earlier is presumably safe.






          share|improve this answer













          Is it possible to load all user data in the background, perhaps on app start? You can then display the edit button, and assume the current cache of data is correct.



          You can still pull the latest copy of the data, and then update the UI accordingly if it's any different. I imagine the data won't change often however, so loading it a few minutes earlier is presumably safe.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 27 '18 at 12:25









          JakeSteamJakeSteam

          2,49152440




          2,49152440













          • yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

            – Gastón Saillén
            Nov 27 '18 at 12:26













          • Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

            – JakeSteam
            Nov 27 '18 at 12:28











          • yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

            – Gastón Saillén
            Nov 27 '18 at 12:29






          • 1





            thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

            – Gastón Saillén
            Nov 27 '18 at 12:34








          • 1





            The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

            – JakeSteam
            Nov 27 '18 at 12:36



















          • yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

            – Gastón Saillén
            Nov 27 '18 at 12:26













          • Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

            – JakeSteam
            Nov 27 '18 at 12:28











          • yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

            – Gastón Saillén
            Nov 27 '18 at 12:29






          • 1





            thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

            – Gastón Saillén
            Nov 27 '18 at 12:34








          • 1





            The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

            – JakeSteam
            Nov 27 '18 at 12:36

















          yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

          – Gastón Saillén
          Nov 27 '18 at 12:26







          yes, I thought this, and the thing is that the first Activity that the user see is the Profile one, so there is always the menu button, and disabling all the overflow or the edit profile button will kill some UX

          – Gastón Saillén
          Nov 27 '18 at 12:26















          Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

          – JakeSteam
          Nov 27 '18 at 12:28





          Ah, so you need the profile data? Why not have a blocking progress spinner or similar then, since you don't want them interacting until you have at least a version of their profile data?

          – JakeSteam
          Nov 27 '18 at 12:28













          yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

          – Gastón Saillén
          Nov 27 '18 at 12:29





          yep, I have a progressBar that shows at the start untill all the data is done fetching and then I show to the user all the data, but the thing is that the overflow menu is always there and I dont want it to be disabled untill the data is done fetching , I saw how instagram does this and its kinda like they preload the data at the start of the app and when you navigate to the profile section , all is done, but at my use case I start at the profile Activity

          – Gastón Saillén
          Nov 27 '18 at 12:29




          1




          1





          thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

          – Gastón Saillén
          Nov 27 '18 at 12:34







          thats a good idea Jake, but Imagine that loading a profile with images at the loading screen will maybe affect in the time of signing in, but I will take that advice since its a good workaround at the moment

          – Gastón Saillén
          Nov 27 '18 at 12:34






          1




          1





          The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

          – JakeSteam
          Nov 27 '18 at 12:36





          The user has to wait either way, on login makes more sense (since they have to wait anyway). Anyway, this has become a design discussion, maybe ask a new question if you've got a new question?

          – JakeSteam
          Nov 27 '18 at 12:36













          1














          Nice question Gastón. So to answer your questions:




          Wait until all async process is done and then enable the edit profile option in the navigation menu




          In my opinion, this is the recommended way in which you can solve this. Wait for the data and then enable the button. Let's be honest, you cannot edit something that isn't available yet. So get the data, enable the button and let the user update his own profile.




          Leave the menu button enabled while the data is being fetched and fetch it again when I'm inside that Activity (that would be reloading all the data instead of passing it as extra which will be more efficient) but at the same time I'm doing two requests for the same data




          There is no need to get the data twice. It will be a waste of bandwidth and resources. There is not a good practice to get data over and over again since you can reuse it.






          share|improve this answer



















          • 2





            Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

            – Alex Mamo
            Nov 27 '18 at 12:46








          • 1





            That's a really nice point !

            – Gastón Saillén
            Nov 27 '18 at 12:55
















          1














          Nice question Gastón. So to answer your questions:




          Wait until all async process is done and then enable the edit profile option in the navigation menu




          In my opinion, this is the recommended way in which you can solve this. Wait for the data and then enable the button. Let's be honest, you cannot edit something that isn't available yet. So get the data, enable the button and let the user update his own profile.




          Leave the menu button enabled while the data is being fetched and fetch it again when I'm inside that Activity (that would be reloading all the data instead of passing it as extra which will be more efficient) but at the same time I'm doing two requests for the same data




          There is no need to get the data twice. It will be a waste of bandwidth and resources. There is not a good practice to get data over and over again since you can reuse it.






          share|improve this answer



















          • 2





            Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

            – Alex Mamo
            Nov 27 '18 at 12:46








          • 1





            That's a really nice point !

            – Gastón Saillén
            Nov 27 '18 at 12:55














          1












          1








          1







          Nice question Gastón. So to answer your questions:




          Wait until all async process is done and then enable the edit profile option in the navigation menu




          In my opinion, this is the recommended way in which you can solve this. Wait for the data and then enable the button. Let's be honest, you cannot edit something that isn't available yet. So get the data, enable the button and let the user update his own profile.




          Leave the menu button enabled while the data is being fetched and fetch it again when I'm inside that Activity (that would be reloading all the data instead of passing it as extra which will be more efficient) but at the same time I'm doing two requests for the same data




          There is no need to get the data twice. It will be a waste of bandwidth and resources. There is not a good practice to get data over and over again since you can reuse it.






          share|improve this answer













          Nice question Gastón. So to answer your questions:




          Wait until all async process is done and then enable the edit profile option in the navigation menu




          In my opinion, this is the recommended way in which you can solve this. Wait for the data and then enable the button. Let's be honest, you cannot edit something that isn't available yet. So get the data, enable the button and let the user update his own profile.




          Leave the menu button enabled while the data is being fetched and fetch it again when I'm inside that Activity (that would be reloading all the data instead of passing it as extra which will be more efficient) but at the same time I'm doing two requests for the same data




          There is no need to get the data twice. It will be a waste of bandwidth and resources. There is not a good practice to get data over and over again since you can reuse it.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 27 '18 at 12:37









          Alex MamoAlex Mamo

          44.6k82862




          44.6k82862








          • 2





            Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

            – Alex Mamo
            Nov 27 '18 at 12:46








          • 1





            That's a really nice point !

            – Gastón Saillén
            Nov 27 '18 at 12:55














          • 2





            Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

            – Alex Mamo
            Nov 27 '18 at 12:46








          • 1





            That's a really nice point !

            – Gastón Saillén
            Nov 27 '18 at 12:55








          2




          2





          Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

          – Alex Mamo
          Nov 27 '18 at 12:46







          Btw, I don't think that getting the data before is needed will be a good option because the user might edit his profile or might not. So creating extra requests to get some data that you might use it, isn't practical. IMHO, I don't get data untill I certainly need it.

          – Alex Mamo
          Nov 27 '18 at 12:46






          1




          1





          That's a really nice point !

          – Gastón Saillén
          Nov 27 '18 at 12:55





          That's a really nice point !

          – Gastón Saillén
          Nov 27 '18 at 12:55


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53499598%2fhow-to-enable-or-disable-functions-in-my-app-depending-on-fetched-data%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Contact image not getting when fetch all contact list from iPhone by CNContact

          count number of partitions of a set with n elements into k subsets

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks