• darthLevel 6 - Platinum Elite Member

    Biden2020prez [Login to see the link]

    [Login to see the link] I can disable apps: adb shell pm disable-user --user 0 org.chromium.chrome
    Disables the browser.

    To be on the safe side you may also want to disable Search: com.android.quicksearchbox
    Im not sure what the app does but it can be opened even if there is no browser.

      • darthLevel 6 - Platinum Elite Member

        Biden2020prez I did open it. It opens up a search bar that says "Google" on it. It didnt display any results when I searched but to be on the safe side I removed it from my phone.

          On which carrier is it running?

          im here in the catskills and only AT&t works here,,,,, can i use this phone?

            SamFried It's on all the TracFone carriers (TracFone, Net10, Straight Talk, Total Wireless, etc.). TracFone does have an option to use AT&T towers, but it doesn't work on all phones, but I'm pretty sure it would on this one. [Login to see the link], which is why I assume it works on TracFone AT&T tower. I don't think AT&T sells this.

              Ok, so one of our developers has pulled the framework files and reverse engineered the package manager code.

              Here is the code blocking the install
              try {
              boolean equals = "userdebug".equals(SystemProperties.get("ro.build.type", ""));
              if (!this.mIsEndurance && (!this.mGflip6Gc || !equals)) {
              int i8 = Settings.System.getInt(this.mContext.getContentResolver(), INSTALL_ENABLE, 1);
              this.mIntallSecretCode = i8;
              if (!this.mIsAllowInstall) {
              this.mIsAllowInstall = i8 == 0;
              }
              Log.i(TAG, "mIsAllowInstall= " + this.mIsAllowInstall + ",APK_INSTALL_FINISH" + this.APK_INSTALL_FINISH);
              if (this.APK_INSTALL_FINISH) {
              if (this.mIsMPBranch) {
              packageInstalledInfo.setError(-22, "App forbidden installation " + parsePackage.getPackageName());
              throw new PrepareFailure(-116, "App forbidden installation " + parsePackage.getPackageName());
              } else if (!this.mIsAllowInstall) {
              packageInstalledInfo.setError(-22, "App forbidden installation " + parsePackage.getPackageName());
              throw new PrepareFailure(-116, "App forbidden installation " + parsePackage.getPackageName());
              }
              }
              }

                If you check logcat after installing a package you will see the App forbidden installation message

                To set mIsAllowInstall to true, you can dial the secret code 2880 as seen in the code below which sets the property INSTALL_ENABLE to 0 which in turn sets mIsAllowInstall to true:

                this.mContext.registerReceiver(new BroadcastReceiver() {
                public void onReceive(Context context, Intent intent) {
                if (intent != null) {
                Uri data = intent.getData();
                if (PackageManagerService.this.ALLOW_INSTALL.equals(data)) {
                Settings.System.putInt(PackageManagerService.this.mContext.getContentResolver(), PackageManagerService.INSTALL_ENABLE, 0);
                } else {
                PackageManagerService.this.FORBIDDEN_INSTALL.equals(data);
                }
                }
                }
                }, intentFilter2);

                  The problem is the other variable which is checked - this.APK_INSTALL_FINISH this is set to false when the package manager service is initialized with no way to change the value!

                  There is another way to prevent the error which would be by preventing the parent if statement from returning true. One variable which is checked is the this.mEndurance variable.

                  This variable is set with this line of code: packageManagerService.mIsEndurance = SystemProperties.getBoolean("ro.vendor.tct.endurance", false); So if we can somehow modify the system property ro.vendor.tct.endurance to return true then we can bypass the check and install the package!

                  This is where our developer is currently up to, if you have any cool ideas on how to modify this system property without root then by all means let us know!

                    • darthLevel 6 - Platinum Elite Member

                      Apps4Flip-Admin If you can figure out how to get this phone into download mode than you should be able to root or create custom firmware (kosher?) for the phone.

                        darth

                        Apps4Flip-Admin if you have any cool ideas on how to modify this system property without root then by all means let us know!

                        Apps4Flip-Admin This is way more confusing then תקפה כהן! I'll still try to get through it. But, how do I dial the 2880. Just call 2880? Are there stars and pounds?

                        use the hashtag and star pattern from the other commands, but it still won't work because of the second issue I brought up

                          Apps4Flip-Admin Installing APK won't work? Or the code won't work at all? (I didn't see anything when I pressed it).

                          Its a system property and there is no way to see that it changed besides for running adb shell settings get system install_enabled

                          Before running that code it is set to 1 and running the code sets it to zero.

                          This allows the check in the code to pass. Now we just have to get passed the other check!

                          • FlippyLevel 6 - Platinum Elite Member

                            • Edited

                            SamFried Can you provide link to the phone on Amazon.com?