public void MergeFrom(Settings other)
 {
     if (other == null)
     {
         return;
     }
     if (other.aggregationStrategy_ != null)
     {
         if (aggregationStrategy_ == null)
         {
             aggregationStrategy_ = new global::Google.Android.PerformanceTuner.Settings.Types.AggregationStrategy();
         }
         AggregationStrategy.MergeFrom(other.AggregationStrategy);
     }
     histograms_.Add(other.histograms_);
     if (other.BaseUri.Length != 0)
     {
         BaseUri = other.BaseUri;
     }
     if (other.ApiKey.Length != 0)
     {
         ApiKey = other.ApiKey;
     }
     if (other.DefaultFidelityParametersFilename.Length != 0)
     {
         DefaultFidelityParametersFilename = other.DefaultFidelityParametersFilename;
     }
     if (other.InitialRequestTimeoutMs != 0)
     {
         InitialRequestTimeoutMs = other.InitialRequestTimeoutMs;
     }
     if (other.UltimateRequestTimeoutMs != 0)
     {
         UltimateRequestTimeoutMs = other.UltimateRequestTimeoutMs;
     }
     if (other.LoadingAnnotationIndex != 0)
     {
         LoadingAnnotationIndex = other.LoadingAnnotationIndex;
     }
     if (other.LevelAnnotationIndex != 0)
     {
         LevelAnnotationIndex = other.LevelAnnotationIndex;
     }
 }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    input.SkipLastField();
                    break;

                case 10: {
                    if (aggregationStrategy_ == null)
                    {
                        aggregationStrategy_ = new global::Google.Android.PerformanceTuner.Settings.Types.AggregationStrategy();
                    }
                    input.ReadMessage(aggregationStrategy_);
                    break;
                }

                case 18: {
                    histograms_.AddEntriesFrom(input, _repeated_histograms_codec);
                    break;
                }

                case 26: {
                    BaseUri = input.ReadString();
                    break;
                }

                case 34: {
                    ApiKey = input.ReadString();
                    break;
                }

                case 42: {
                    DefaultFidelityParametersFilename = input.ReadString();
                    break;
                }

                case 48: {
                    InitialRequestTimeoutMs = input.ReadInt32();
                    break;
                }

                case 56: {
                    UltimateRequestTimeoutMs = input.ReadInt32();
                    break;
                }

                case 800: {
                    LoadingAnnotationIndex = input.ReadInt32();
                    break;
                }

                case 808: {
                    LevelAnnotationIndex = input.ReadInt32();
                    break;
                }
                }
            }
        }