berict/Tapad

View on GitHub
app/src/main/java/com/bedrock/padder/helper/IntentHelper.java

Summary

Maintainability
F
3 days
Test Coverage

File IntentHelper.java has 387 lines of code (exceeds 250 allowed). Consider refactoring.
Open

package com.bedrock.padder.helper;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
Severity: Minor
Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 5 hrs to fix

    IntentHelper has 35 methods (exceeds 20 allowed). Consider refactoring.
    Open

    @SuppressWarnings("unchecked")
    
    public class IntentHelper {
        public void intent(final Activity activity, String name, int delay) {
            final String classname = "com.bedrock.padder." + name;
    Severity: Minor
    Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 4 hrs to fix

      Method intentSharedElementWithExtra has 26 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final String extra, int delay, final View v) {
              final String classname = "com.bedrock.padder." + targetName;
              final Class<Object> classToLoad;
              try{
                  classToLoad = (Class<Object>)Class.forName(classname);
      Severity: Minor
      Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 1 hr to fix

        Method intentSharedElementWithExtra has 26 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final String extra, int delay) {
                final String classname = "com.bedrock.padder." + targetName;
                final Class<Object> classToLoad;
                try{
                    classToLoad = (Class<Object>)Class.forName(classname);
        Severity: Minor
        Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 1 hr to fix

          Method intentSharedElementWithExtra has 26 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final int extra, int delay) {
                  final String classname = "com.bedrock.padder." + targetName;
                  final Class<Object> classToLoad;
                  try{
                      classToLoad = (Class<Object>)Class.forName(classname);
          Severity: Minor
          Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 1 hr to fix

            Method intentEmail has 8 arguments (exceeds 4 allowed). Consider refactoring.
            Open

                public void intentEmail(final Activity activity, String email_target, String subject, String subjectDesc, String text, String textDesc, final String hint, int delay) {
            Severity: Major
            Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 1 hr to fix

              Method intentSharedElementWithExtra has 8 arguments (exceeds 4 allowed). Consider refactoring.
              Open

                  public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final String extra, int delay, final View v) {
              Severity: Major
              Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 1 hr to fix

                Method intentSharedElementWithExtra has 7 arguments (exceeds 4 allowed). Consider refactoring.
                Open

                    public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final int extra, int delay) {
                Severity: Major
                Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 50 mins to fix

                  Method intentSharedElementWithExtra has 7 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                      public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final String extra, int delay) {
                  Severity: Major
                  Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 50 mins to fix

                    Method intentEmail has 6 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                        public void intentEmail(final Activity activity, int emailTargetId, String subject, String text, int hintResId, int delay) {
                    Severity: Minor
                    Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 45 mins to fix

                      Method intentSharedElement has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                          public void intentSharedElement(final Activity activity, final String targetName, final int start_element_id, final String transitionName, int delay) {
                      Severity: Minor
                      Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 35 mins to fix

                        Method intentWithExtra has 5 arguments (exceeds 4 allowed). Consider refactoring.
                        Open

                            public void intentWithExtra(final Activity activity, String name, final String extraName, final String extra, int delay) {
                        Severity: Minor
                        Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 35 mins to fix

                          Method intentWithExtra has 5 arguments (exceeds 4 allowed). Consider refactoring.
                          Open

                              public void intentWithExtra(final Activity activity, String name, final String extraName, final int extra, int delay) {
                          Severity: Minor
                          Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 35 mins to fix

                            Method intentShareText has 5 arguments (exceeds 4 allowed). Consider refactoring.
                            Open

                                public void intentShareText(final Activity activity, String subject, String text, final String hint, int delay) {
                            Severity: Minor
                            Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 35 mins to fix

                              Method intentFlagWithExtra has 5 arguments (exceeds 4 allowed). Consider refactoring.
                              Open

                                  public void intentFlagWithExtra(final Activity activity, String name, final String extraName, final String extra, int delay) {
                              Severity: Minor
                              Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java - About 35 mins to fix

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final String extra, int delay) {
                                        final String classname = "com.bedrock.padder." + targetName;
                                        final Class<Object> classToLoad;
                                        try{
                                            classToLoad = (Class<Object>)Class.forName(classname);
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 169..198

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 175.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    public void intentSharedElementWithExtra(final Activity activity, final String targetName, final int start_element_id, final String transitionName, final String extraName, final int extra, int delay) {
                                        final String classname = "com.bedrock.padder." + targetName;
                                        final Class<Object> classToLoad;
                                        try{
                                            classToLoad = (Class<Object>)Class.forName(classname);
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 200..229

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 175.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    public void intentWithExtra(final Activity activity, String name, final String extraName, final String extra, int delay) {
                                        final String classname = "com.bedrock.padder." + name;
                                        final Class<Object> classToLoad;
                                        try{
                                            classToLoad = (Class<Object>)Class.forName(classname);
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 77..96

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 119.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Similar blocks of code found in 2 locations. Consider refactoring.
                                Open

                                    public void intentWithExtra(final Activity activity, String name, final String extraName, final int extra, int delay) {
                                        final String classname = "com.bedrock.padder." + name;
                                        final Class<Object> classToLoad;
                                        try{
                                            classToLoad = (Class<Object>)Class.forName(classname);
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 56..75

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 119.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Identical blocks of code found in 2 locations. Consider refactoring.
                                Open

                                        emailDelay.postDelayed(new Runnable() {
                                            @Override
                                            public void run() {
                                                try {
                                                    activity.startActivity(Intent.createChooser(email, hint));
                                Severity: Minor
                                Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java and 1 other location - About 50 mins to fix
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 422..431

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 61.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                Identical blocks of code found in 2 locations. Consider refactoring.
                                Open

                                        emailDelay.postDelayed(new Runnable() {
                                            @Override
                                            public void run() {
                                                try {
                                                    activity.startActivity(Intent.createChooser(email, hint));
                                Severity: Minor
                                Found in app/src/main/java/com/bedrock/padder/helper/IntentHelper.java and 1 other location - About 50 mins to fix
                                app/src/main/java/com/bedrock/padder/helper/IntentHelper.java on lines 401..410

                                Duplicated Code

                                Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                                Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                                When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                                Tuning

                                This issue has a mass of 61.

                                We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                                The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                                If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                                See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                                Refactorings

                                Further Reading

                                There are no issues that match your filters.

                                Category
                                Status